By ozwiz
I am using nginx with django. Actually i am moving an old site to a new domain. In the process I have also updated the url structure of post and pages. Here is how nginx configuration looks like:
server {
server_name 44.41.211.161;
access_log off;
location /static/ {
alias /home/project/Sites/project/static/;
}
rewrite ^/old-url$ http://mysite.com/updated-url permanent;
location /media/ {
alias /home/project/Sites/project/media/;
}
location / {
proxy_pass http://127.0.0.1:8001;
proxy_set_header X-Forwarded-Host $server_name;
proxy_set_header X-Real-IP $remote_addr;
add_header P3P 'CP="ALL DSP COR PSAa PSDa OUR NOR ONL UNI COM NAV"';
}
}
If i visit http://mysite.com/old-url
nginx perfectly redirects old-url
to http://mysite.com/updated-url
but if i visit http://mysite.com/old-url/
(with a trailing slash) it returns a 404 error. How do i prevent a 404 error and redirect http://mysite.com/old-url/
to http://mysite.com/updated-url
This textbox defaults to using Markdown to format your answer.
You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!
Accepted Answer
Remove the dollar sign, to redirect anything that starts with /old-url
rewrite ^/old-url http://mysite.com/updated-url permanent;
Or allow either-or with a question mark
rewrite ^/old-url/?$ http://mysite.com/updated-url permanent;
Get paid to write technical tutorials and select a tech-focused charity to receive a matching donation.
Full documentation for every DigitalOcean product.
The Wave has everything you need to know about building a business, from raising funding to marketing your product.
Stay up to date by signing up for DigitalOcean’s Infrastructure as a Newsletter.
New accounts only. By submitting your email you agree to our Privacy Policy
Scale up as you grow — whether you're running one virtual machine or ten thousand.
Sign up and get $200 in credit for your first 60 days with DigitalOcean.*
*This promotional offer applies to new accounts only.