刚刚安装了一个全新的 12.04 ubuntu 服务器。
总是使用样板重定向来删除 www,但它看起来不支持 https,所以我开始四处寻找。尝试了我发现的所有内容并以某种方式删除 http“www”效果很好,但 https 不会重定向。
这是我使用的(在 /etc/apache2/conf.d 中的 bp_rewrite.conf 文件中):
# Rewrite "www.example.com -> example.com"
<IfModule mod_rewrite.c>
RewriteCond %{HTTP_HOST} ^www\.(.+)
RewriteCond %{HTTPS}s/%1 ^(on(s)|offs)/(.+)
RewriteRule ^ http%2://%3%{REQUEST_URI} [L,R=301]
</IfModule>
有没有人经历过这个?
为了
RewriteRule
触发,两个RewriteCond
指令都必须为真。这个怎么样:
现在,如果只有一个条件保持为真(对于
https://www.example.com/
,只有第一个条件为真),RewriteRule
则应用您的示例代码看起来有点过于复杂,但非常接近我使用的代码:
注意:这只会撕掉域名最后两部分前面的任何内容。因此您的用户可以输入
what.the.example.com
并将其减少为example.com
. 如果您的域名是example.co.uk
或包含三部分的内容,则必须修改第一行的末尾以适合。