htaccess使用https,非www和目录尾随将两个域重写为一个域
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了htaccess使用https,非www和目录尾随将两个域重写为一个域相关的知识,希望对你有一定的参考价值。
我有两个具有不同后缀的域名,我想要做的是以下内容:
- 将所有URL从domain2重写为domain1。
- 将所有www网址重写为非www网址并将其重定向到domain1
- 强制HTTPS网址
- 我希望规则也影响完整的目录尾随,例如:http://www.domain2.net/shop/将去https://domain1.com/shop/
我现在拥有的:
RewriteCond %{HTTP_HOST} ^domain2\.net$ [OR]
RewriteCond %{HTTP_HOST} ^www\.domain2\.net$ [OR]
RewriteCond %{HTTP_HOST} ^www\.domain1\.com$
RewriteRule ^/?$ "https\:\/\/domain1\.com" [R=301,L]
正如你所看到的那样,部分完成了我的需要,但我很难弄清楚如何操作整个目录尾随,有没有人知道正确的解决方案呢?
答案
假设它适用于第1,2和3项。对于第4项,您需要在重写部分中插入要重用的模式部分,如下所示:
RewriteCond %{HTTP_HOST} ^domain2\.net$ [OR]
RewriteCond %{HTTP_HOST} ^www\.domain2\.net$ [OR]
RewriteCond %{HTTP_HOST} ^www\.domain1\.com$
RewriteRule ^(.*)$ "https://domain1.com/$1" [R=301,L]
^(.*)$
:从任何.*
开始,直到结束$
“。注意.*
也会匹配空字符串。$1
将括号内的内容替换为重写部分。- 例如:
http://domain2.net/TATA.html
- >https://domain1.com/TATA.html
以上是关于htaccess使用https,非www和目录尾随将两个域重写为一个域的主要内容,如果未能解决你的问题,请参考以下文章
使用 .htaccess 重定向 URL 而不使用尾随帖子 ID
使用htaccess从(.html到.php)和(http到https)和(非www到www)同时重定向[重复]
htaccess 重定向非 www http 和 https
通过 htaccess 将所有 http 和 https 非 www URL 重定向到 https://www.xyz.com
.htaccess:非 www 到 www(使用 https)在 Firefox 中显示 ssl_error_bad_cert_domain