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

Posted July 22, 2014 3.4k views

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$$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.

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.

Submit an Answer
5 answers

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

rewrite ^/([0-9]{4})/([0-9]{2})/([^/]+).html$$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.

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$"$3 permanent;