NGINX: remove part of url permanantly NGINX: remove part of url permanantly nginx nginx

NGINX: remove part of url permanantly


There are a number of options. You could protect the rewrite within a location block which would be quite efficient as the regular expression is only tested if the URI prefix matches:

location ^~ /forum/showPost {    rewrite ^/forum/showPost(.*)$ $1 permanent;}

See this document for more.

You used permanent in your question - which generates a 301 response.

If you use redirect instead of permanent - a 302 response will be generated.

If you use last instead of permanent - an internal redirect will occur and the browser address bar will continue to show the old URL.

In response to your comment:

rewrite ^/forum/showPost(.*)$ /post$1 permanent;


server {    listen 80; ## Listen on port 80 ##    server_name example.com;  ## Domain Name ##    index index.html index.php;  ## Set the index for site to use ##    charset utf-8; ## Set the charset ##    location ^~ /forum/showPost {        rewrite ^/forum/showPost(.*)$ $1 permanent;    }    location ^~ /business/showDetails {             rewrite ^(.*)business/showDetails(.*)$ classifieds$1 permanent;    }}