404s are probably the biggest issue with the internet, but fixing these errors in Apache and NGINX by redirecting an old url to a new one can be a simple change that will make your visitors happy, keep your logs clean and improve your SEO.
I have reorganized the structure of this website to leave the root clean for other pages or groups of content (maybe photos). While the amount of content on this website is meager, there might be a few broken links due to the restructuring.
With Apache, there are many ways to redirect.
mod_rewrite could be used along with regular expressions. However, a very clean way to redirect is simply using
redirect, followed by the HTTP code to be use (in this case
301), the old url, then the new url.
.htaccess file, add the following for each redirect needed on a new line:
redirect 301 /old-page/ http://example.com/new-page/
mod_rewrite for Apache, the HTTPRewrite module is enabled by default in Nginx.
server block of the website’s Nginx config, add the following for each redirect:
rewrite ^/old-page/$ http://example.com/new-page/ permanent;
The rewrite uses a regular expression for the old url, but nothing fancy needs to be written. It could be just the entire url string between a
$ to denote the beginning and the end, respectively.
However, Nginx does require to be restarted before the new redirects take affect. On Ubuntu it’s probably
sudo service nginx restart when using nginx installed via