Question

Permalink Issue in Wordpress (migrated from Blogger) in LEMP stack

  • Posted July 22, 2014

I had once moved my blogger site to wordpress. Till then I had to use the following in .htaccess file.

RedirectMatch 301 ^/([0-9]{4})/([0-9]{2})/([^/]+).html$ http://mywpsite.com/$3

Now, after moving my site to Nginx, I could not find a way to implement the above rule so that my old permalinks are maintained in new environment also.

Subscribe
Share

Submit an answer
You can type!ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!

These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.

The Nginx rewrite docs state:

Note: for curly braces( { and } ), as they are used both in regexes and for block control, to avoid conflicts, regexes with curly braces are to be enclosed with double quotes (or single quotes).

So try,

rewrite "^/([0-9]{4})/([0-9]{2})/([^/]+).html$" http://mywpsite.com/$3 permanent;

I added the code inside the server block but getting error.

nginx -t

nginx: [emerg] directive “rewrite” is not terminated by “;” in /etc/nginx/sites-enabled/wordpress:67

Although, the semi-colon is placed in the code above.

You can use nginx’s rewrite directive to implement that:

rewrite ^/([0-9]{4})/([0-9]{2})/([^/]+).html$ http://mywpsite.com/$3 permanent;