Skip to content

Instantly share code, notes, and snippets.

@rayflores
Last active January 26, 2017 21:57
Show Gist options
  • Save rayflores/bdd0965c950a7e7d4a93b1c87eb47b8d to your computer and use it in GitHub Desktop.
Save rayflores/bdd0965c950a7e7d4a93b1c87eb47b8d to your computer and use it in GitHub Desktop.
301 perm redir to index alt TLD
# 1. GoDaddy -> login
# 2. Go to Domains
# 3. Go to Manage Hosting for that domain
# 4. Click on Manage for the site.
# You should now be in Control Panel backend of oldsite.com
# Either via FTP or FileManager (icon)
# find .htaccess file in root of domain folder
# open that file with a text editor (eg. Notepad or Notepad++)
# replace the contents of existing file with one of the following code snippets
# place in oldsite htaccess
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{QUERY_STRING} "(.*)" [NC]
RewriteRule (.*) https://newsite.com/$1? [R=301,L,QSD]
</IfModule>
# ? at end of new TLD drops query string
# QSD = Query String Drop
#Redirect from old domain to new domain
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /
RewriteRule (.*) http://www.newdomain.com/$1 [R=301,L]
</IfModule>
#Redirect to www location
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /
rewritecond %{http_host} ^domain.com [nc]
rewriterule ^(.*)$ http://www.domain.com/$1 [r=301,nc]
</IfModule>
#Redirect to www location with subdirectory
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /
RewriteCond %{HTTP_HOST} domain.com [NC]
RewriteRule ^(.*)$ http://www.domain.com/directory/index.html [R=301,NC]
</IfModule>
#Redirect from old domain to new domain with full path and query string:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^(.*) http://www.newdomain.com%{REQUEST_URI} [R=302,NC]
</IfModule>
#Redirect from old domain with subdirectory to new domain w/o subdirectory including full path and query string:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_URI} ^/subdirname/(.*)$
RewriteRule ^(.*) http://www.katcode.com/%1 [R=302,NC]
</IfModule>
#Rewrite and redirect URLs with query parameters (files placed in root directory)
#Original URL:
#http://www.example.com/index.php?id=1
#Desired destination URL:
#http://www.example.com/path-to-new-location/
#.htaccess syntax:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{QUERY_STRING} id=1
RewriteRule ^index\.php$ /path-to-new-location/? [L,R=301]
</IfModule>
#Redirect URLs with query parameters (files placed in subdirectory)
#Original URL:
#http://www.example.com/sub-dir/index.php?id=1
#Desired destination URL:
#http://www.example.com/path-to-new-location/
#.htaccess syntax:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{QUERY_STRING} id=1
RewriteRule ^sub-dir/index\.php$ /path-to-new-location/? [L,R=301]
</IfModule>
#Redirect one clean URL to a new clean URL
#Original URL:
#http://www.example.com/old-page/
#Desired destination URL:
#http://www.example.com/new-page/
#.htaccess syntax:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^old-page/?$ $1/new-page$2 [R=301,L]
</IfModule>
#Rewrite and redirect URLs with query parameter to directory based structure, retaining query string in URL root level
#Original URL:
#http://www.example.com/index.php?id=100
#Desired destination URL:
#http://www.example.com/100/
#.htaccess syntax:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^([^/d]+)/?$ index.php?id=$1 [QSA]
</IfModule>
#Rewrite URLs with query parameter to directory based structure, retaining query string parameter in URL subdirectory
#Original URL:
#http://www.example.com/index.php?category=fish
#Desired destination URL:
#http://www.example.com/category/fish/
#.htaccess syntax:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^/?category/([^/d]+)/?$ index.php?category=$1 [L,QSA]
</IfModule>
#Domain change – redirect all incoming request from old to new domain (retain path)
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_HOST} ^example-old\.com$ [NC]
RewriteRule ^(.*)$ http://www.example-new.com/$1 [R=301,L]
</IfModule>
#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/
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_URI}/ blog
RewriteRule ^(.*) http://www.somewhere.com/%{REQUEST_URI} [R=302,NC]
RewriteRule ^(.*) http://www.somewhere.com/blog/%{REQUEST_URI} [R=302,NC]
</IfModule>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment