.htaccess 301 redirect all pages on old domain to a single page on new domain

前端 未结 3 499
日久生厌
日久生厌 2020-12-07 03:07

I\'m looking to redirect each and every page on the old domain to a single page on the new domain. It should also redirect both the www and

相关标签:
3条回答
  • 2020-12-07 03:28

    You can use RedirectMatch in the old.com vhost

    RedirectMatch permanent .* http://www.new.com/
    

    Redirect appends the trailing portion of the matched URI to the redirection URI but with RedirectMatch it's up to you to choose the parts (if any) that you want to transfer using parentheses and $number references.

    If the old and new domains must be aliases for the same document root on disk then you'll probably have to use mod_rewrite

    RewriteEngine on
    RewriteCond %{HTTP_HOST} old\.com$
    RewriteRule .* http://www.new.com/ [L,R=301]
    
    0 讨论(0)
  • 2020-12-07 03:33

    This has already been answered, but here's the code altogether containing helpful comments so people have a reference to look back on later should they forget what it does.

    Put this in your .htaccess file:

    ## Each and every page on old domain redirects to single page
    ## By appending question mark to new domain, query strings are removed
    RewriteEngine on
    RewriteCond %{HTTP_HOST} old\.com$
    RewriteRule .* http://www.new.com/? [L,R=301]
    

    You can also redirect to a sub directory on another domain, as was the case that I needed to do like this:

    ## Each and every page on old domain redirects to single page
    ## By appending question mark to new domain, query strings are removed
    RewriteEngine on
    RewriteCond %{HTTP_HOST} old\.com$
    RewriteRule .* http://www.new.com/sub-directory/? [L,R=301]
    
    0 讨论(0)
  • 2020-12-07 03:34

    This will handle all your redirects including query strings. Excuse the formatting, I'm on a phone :)

    RewriteCond %{HTTP_HOST} old\.com$ RewriteCond %{QUERY_STRING} .+
    RewriteRule (.*) http://www.new.com$1?%{QUERY_STRING} [L,R=301,QSA]
    
    RewriteCond %{HTTP_HOST} old\.com$
    RewriteRule (.*) http://www.new.com$1 [L,R=301,QSA]
    
    0 讨论(0)
提交回复
热议问题