Simple NGinx rewrite is redirecting

awarburton asked:

I’m trying to setup a friendly URL for a website running on my Nginx server but for some reason, the url’s are being redirected instead of being rewritten.

For instance If a user visits I want to stay in the address bar, but for the content to be pulled from

In my Nginx site configuration I have the following (a simple example with some stuff chopped out for simplicities sake):

server {

    location / {
        rewrite ^/aboutus/$ permanent;


For whatever reason, Nginx seems to insist on redirecting the ‘friendly’ url to the php file, but I want a more traditional “rewrite” (like I’ve done before in Apache mod_rewrite without issue).

I’m probably doing something wrong, but I’ll be damned if I can work out what.

My answer:

You’re getting a 301 redirect because you specifically asked for a 301 redirect.

To fix the problem, use a relative destination URL, and last instead of permanent.

For example:

rewrite ^/aboutus/$ /aboutus.php last;

View the full question and any other answers on Server Fault.

Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.