将旧域https重定向到新域https

时间:2018-01-07 22:01:56

标签: php apache .htaccess magento redirect

我做了一些重定向301从我的旧域重新定向到新主机上的新域。但我检查旧版主页网站的HTTPS版本仍在工作,而不是重定向到新域,但旧主页上的链接正在重定向到新的域链接。如何将旧域的HTTPS版本重定向到我的新域的HTTPS版本?以下是我的.htaccess

的一部分
Options +FollowSymLinks
RewriteEngine on

RewriteCond %{THE_REQUEST} /store/catalogsearch/result/index/ [NC]
RewriteRule ^ https://www.newdomain.com/? [L,R=301]

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /([^/]+/)*(default|index)\.(html|php|htm)\ HTTP/ [NC]
RewriteRule ^(([^/]+/)*)(default|main|index)\.(html|php|htm)$ http://www.newdomain.com/$1 [R=301,NC]
RewriteRule ^store/?$ http://www.newdomain.com [L,NC,R=301]
RewriteRule ^store/folder/?$ http://www.newdomain.com/otherfolder/another-folder/ [L,NC,R=301]
RewriteRule ^store/folder1/folder2/?$ http://www.newdomain.com/folder-3/folder-4 [L,NC,R=301]

RewriteCond %{HTTP_HOST} ^(www\.)?olddomain\.com$ [NC]
RewriteRule ^(.*)$ http://www.newdomain.com/$1 [R=301,NE,L]

提前感谢您的帮助。

2 个答案:

答案 0 :(得分:0)

在htaccess文件中,您必须只使用条件和规则来完成工作。

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{HTTP_HOST} ^olddomain.com$ [OR]
    RewriteCond %{HTTP_HOST} ^www.olddomain.com$
    RewriteRule (.*)$ http://www.newdomain.com/$1 [R=301,L]
</IfModule>

在您的代码中,您在新域名之前编写了 ^ 符号。

答案 1 :(得分:0)

//试试这个..

 <IfModule mod_rewrite.c>
  RewriteEngine On
  Redirect 301 / http://newdomain.com/
 </IfModule>

OR

  RewriteEngine on
  RewriteCond %{HTTP_HOST} ^(www\.)?http://olddomain\.com$
  RewriteRule ^(.*)$ http://newdomain.com/$1 [R=301,QSA,L]