#301 Redirects for .htaccess#Redirect a single page:Redirect 301 /pagename.php http://www.domain.com/pagename.html#Redirect an entire site:Redirect 301 / http://www.domain.com/#Redirect an entire site to a sub folderRedirect 301 / http://www.domain.com/subfolder/#Redirect a sub folder to another siteRedirect 301 /subfolder http://www.domain.com/#This will redirect any file with the .html extension to use the same filename but use the .php extension instead.RedirectMatch 301 (.*)\.html$ http://www.domain.com$1.php###You can also perform 301 redirects using rewriting via .htaccess.###Redirect from old domain to new domainRewriteEngine onRewriteBase /RewriteRule (.*) http://www.newdomain.com/$1 [R=301,L]#Redirect to www locationRewriteEngine onRewriteBase /rewritecond %{http_host} ^domain.com [nc]rewriterule ^(.*)$ http://www.domain.com/$1 [r=301,nc]#Redirect to www location with subdirectoryRewriteEngine onRewriteBase /RewriteCond %{HTTP_HOST} domain.com [NC]RewriteRule ^(.*)$ http://www.domain.com/directory/index.html [R=301,NC]#Redirect from old domain to new domain with full path and query string:Options +FollowSymLinksRewriteEngine OnRewriteRule ^(.*) http://www.newdomain.com%{REQUEST_URI} [R=302,NC]#Redirect from old domain with subdirectory to new domain w/o subdirectory including full path and query string:Options +FollowSymLinksRewriteEngine OnRewriteCond %{REQUEST_URI} ^/subdirname/(.*)$RewriteRule ^(.*) http://www.katcode.com/%1 [R=302,NC]Rewrite and redirect URLs with query parameters (files placed in root directory)Original URL:http://www.example.com/index.php?id=1Desired destination URL:http://www.example.com/path-to-new-location/.htaccess syntax:RewriteEngine onRewriteCond %{QUERY_STRING} id=1RewriteRule ^index\.php$ /path-to-new-location/? [L,R=301]Redirect URLs with query parameters (files placed in subdirectory)Original URL:http://www.example.com/sub-dir/index.php?id=1Desired destination URL:http://www.example.com/path-to-new-location/.htaccess syntax:RewriteEngine onRewriteCond %{QUERY_STRING} id=1RewriteRule ^sub-dir/index\.php$ /path-to-new-location/? [L,R=301]Redirect one clean URL to a new clean URLOriginal URL:http://www.example.com/old-page/Desired destination URL:http://www.example.com/new-page/.htaccess syntax:RewriteEngine OnRewriteRule ^old-page/?$ $1/new-page$2 [R=301,L]Rewrite and redirect URLs with query parameter to directory based structure, retaining query string in URL root levelOriginal URL:http://www.example.com/index.php?id=100Desired destination URL:http://www.example.com/100/.htaccess syntax:RewriteEngine OnRewriteRule ^([^/d]+)/?$ index.php?id=$1 [QSA]Rewrite URLs with query parameter to directory based structure, retaining query string parameter in URL subdirectoryOriginal URL:http://www.example.com/index.php?category=fishDesired destination URL:http://www.example.com/category/fish/.htaccess syntax:RewriteEngine OnRewriteRule ^/?category/([^/d]+)/?$ index.php?category=$1 [L,QSA]Domain change – redirect all incoming request from old to new domain (retain path)RewriteEngine onRewriteCond %{HTTP_HOST} ^example-old\.com$ [NC]RewriteRule ^(.*)$ http://www.example-new.com/$1 [R=301,L]If you do not want to pass the path in the request to the new domain, change the last row to:RewriteRule ^(.*)$ http://www.example-new.com/ [R=301,L]#From blog.oldsite.com -> www.somewhere.com/blog/retains path and query, and eliminates xtra blog path if domain is blog.oldsite.com/blog/Options +FollowSymLinksRewriteEngine OnRewriteCond %{REQUEST_URI}/ blogRewriteRule ^(.*) http://www.somewhere.com/%{REQUEST_URI} [R=302,NC]RewriteRule ^(.*) http://www.somewhere.com/blog/%{REQUEST_URI} [R=302,NC]
0 comments:
Post a Comment