Skip to content

Instantly share code, notes, and snippets.

@dnalob
Forked from ScottPhillips/.htaccess
Created December 16, 2020 16:08
Show Gist options
  • Save dnalob/9162ab1179a30d3fb5c812fce8520d64 to your computer and use it in GitHub Desktop.
Save dnalob/9162ab1179a30d3fb5c812fce8520d64 to your computer and use it in GitHub Desktop.

Revisions

  1. Scott Phillips revised this gist Oct 11, 2012. 1 changed file with 8 additions and 0 deletions.
    8 changes: 8 additions & 0 deletions .htaccess
    Original file line number Diff line number Diff line change
    @@ -114,3 +114,11 @@ 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 +FollowSymLinks
    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]
  2. Scott Phillips revised this gist Oct 8, 2012. 1 changed file with 78 additions and 0 deletions.
    78 changes: 78 additions & 0 deletions .htaccess
    Original file line number Diff line number Diff line change
    @@ -36,3 +36,81 @@ RewriteBase /
    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 +FollowSymLinks
    RewriteEngine On
    RewriteRule ^(.*) 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 +FollowSymLinks
    RewriteEngine On
    RewriteCond %{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=1
    Desired destination URL:

    http://www.example.com/path-to-new-location/
    .htaccess syntax:

    RewriteEngine on
    RewriteCond %{QUERY_STRING} id=1
    RewriteRule ^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=1
    Desired destination URL:

    http://www.example.com/path-to-new-location/
    .htaccess syntax:

    RewriteEngine on
    RewriteCond %{QUERY_STRING} id=1
    RewriteRule ^sub-dir/index\.php$ /path-to-new-location/? [L,R=301]
    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:

    RewriteEngine On
    RewriteRule ^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 level

    Original URL:

    http://www.example.com/index.php?id=100
    Desired destination URL:

    http://www.example.com/100/
    .htaccess syntax:

    RewriteEngine On
    RewriteRule ^([^/d]+)/?$ index.php?id=$1 [QSA]
    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:

    RewriteEngine On
    RewriteRule ^/?category/([^/d]+)/?$ index.php?category=$1 [L,QSA]
    Domain change – redirect all incoming request from old to new domain (retain path)

    RewriteEngine on
    RewriteCond %{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]
  3. @ScottPhillips ScottPhillips created this gist Feb 2, 2012.
    38 changes: 38 additions & 0 deletions .htaccess
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,38 @@
    #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 folder
    Redirect 301 / http://www.domain.com/subfolder/

    #Redirect a sub folder to another site
    Redirect 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 domain
    RewriteEngine on
    RewriteBase /
    RewriteRule (.*) http://www.newdomain.com/$1 [R=301,L]

    #Redirect to www location
    RewriteEngine on
    RewriteBase /
    rewritecond %{http_host} ^domain.com [nc]
    rewriterule ^(.*)$ http://www.domain.com/$1 [r=301,nc]

    #Redirect to www location with subdirectory
    RewriteEngine on
    RewriteBase /
    RewriteCond %{HTTP_HOST} domain.com [NC]
    RewriteRule ^(.*)$ http://www.domain.com/directory/index.html [R=301,NC]