So I’m working on setting up an updated web server running ISPConfig 3 (since it just seems like a smart option, right?). After following some great tutorials for setting it up, I went about moving my first website over to the new server, which so happened to be this one. I ran into this problem before, but wanted to document it for both my reference and for anyone else in my same boat.

So I used my favorite plugin, WP Clone, to transfer over all of the content from the already existing site, changed my DNS over, loaded the new site, clicked one of the links, and just like that, 404… After a bunch of Google searching, I came across this block of code (and several like it, but this seemed to be the most complete), so i wanted to share.

To enable permalinks, you must go into your site -> Options -> nginx Directives section, and add the following block:

location / {
    try_files $uri $uri/ /index.php?$args;
}
# Add trailing slash to */wp-admin requests.
rewrite /wp-admin$ $scheme://$host$uri/ permanent;

location ~* \.(jpg|jpeg|png|gif|css|js|ico)$ {
    expires max;
    log_not_found off;
}

 

Once ISPConfig saved the changes, it all worked perfectly! I hope this helps someone else avoid the same mistakes that I made.