How to redirect single URL in Nginx?
location ~ /issue([0-9]+) { return 301 http://example.com/shop/issues/custom_isse_name$1;}
Put this in your server directive:
location /issue { rewrite ^/issue(.*) http://$server_name/shop/issues/custom_issue_name$1 permanent; }
Or duplicate it:
location /issue1 { rewrite ^/.* http://$server_name/shop/issues/custom_issue_name1 permanent;}location /issue2 { rewrite ^.* http://$server_name/shop/issues/custom_issue_name2 permanent;} ...
If you need to duplicate more than a few redirects, you might consider using a map:
# map is outside of server blockmap $uri $redirect_uri { ~^/issue1/?$ http://example.com/shop/issues/custom_isse_name1; ~^/issue2/?$ http://example.com/shop/issues/custom_isse_name2; ~^/issue3/?$ http://example.com/shop/issues/custom_isse_name3; # ... or put these in an included file}location / { try_files $uri $uri/ @redirect-map;}location @redirect-map { if ($redirect_uri) { # redirect if the variable is defined return 301 $redirect_uri; }}