我正在尝试将一个域迁移到一个新域,并强制将所有内容强制为https。
我使用.htaccess尝试了一些迭代但没有运气。
我尝试过的一件事是:
RewriteCond %{HTTP_HOST} !newsite.com$ [NC]
RewriteRule ^(.*)$ https://www.newsite.com/$1 [L,R=301]
这会重定向除旧网站https链接之外的所有内容。
还尝试过其他选项:
RewriteCond %{HTTPS} on
RewriteCond %{HTTP_HOST} ^(.+)\.oldsite.com\.com$ [NC]
RewriteRule (.*) https://newsite.com/$1 [L,R=301,QSA]
RewriteCond %{HTTP_HOST} !newsite.com$ [NC]
RewriteRule ^(.*)$ http://www.newsite.com/$1 [L,R=301]
也没有运气。
我想我错过了一些非常简单的东西......任何提示都会受到赞赏!
答案 0 :(得分:1)
除了未转义的.
字符外,您的初始尝试是正确的。要将一个域重定向到另一个域并切换到HTTPS连接,请考虑其他站点指向同一文档根目录:
RewriteEngine on
RewriteCond %{HTTP_HOST} !newsite\.com$ [NC]
RewriteRule (.*) https://www.newsite.com/$1 [R=301,L]
<强>更新强> 虽然上面的规则是正确的,但原始海报没有发生从https://www.oldsite.com到https://www.newsite.com的重定向,因为newsite.com没有有效的证书。