Crawler

General 301 Redirection on Apache Server

General 301 redirection on Apache server using the .htaccess file.

Using the .htaccess file you can:

  • Redirect an entire site to a new domain (all urls to be matched on the new domain). Put this directive in the .htaccess file in the root folder of the OLD site:
    Redirect 301 / http://www.example.com/
  • Redirect an entire site to the homepage of the new domain. Put this directive in the .htaccess file in the root folder of the OLD site:
    RewriteEngine On
    RewriteRule ^(.*)$ http://www.example.com/ [R=301,L]
    
  • Redirect a particular page url to a new url on same or new domain.
    NB: put this directive in the .htaccess file in the root folder of the OLD site if moving to new domain:

    Redirect 301 /old-url http://www.example.com/new-url
    

    Pay attention to trailing slashes if moving folder-type urls.

  • Change the type of extension for every page, with no other changes.
    – E.g. changing all pages from *.html to *.php :

    RedirectMatch 301 (.*)\.html$ http://www.example.com$1.php

    – E.g. changing all pages from *.asp to *.php :

    RedirectMatch 301 (.*)\.asp$ http://www.example.com$1.php
  • Fix canonical issues (www vs non-www urls, multiple homepage uris, etc):See fix-canonical-issues-www-vs-non-www-and-more-on-apache-server
  • Strip unwanted query string from urls:See strip-unwanted-query-string-apache
  • Get rid of https indexing if no longer needed (applies to the whole site):See 301-redirect-https-to-http-on-apache-server

Here’s tool to help generate 301 redirections to add to the .htaccess file to do batch url renaming.

It can work for WordPress or any other platform: http://seo-website-designer.com/HtAccess-301-Redirect-Generator