我想将所有形式的网址中的所有流量重定向到 https没有www
我在另一篇文章中发现了这个代码,它适用于https,但它添加了www
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule .* https://www.example.com%{REQUEST_URI} [R=301,L]
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule .* https://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
我尝试从上面的第一个RewriteRule中删除www,但它仍然重定向到www
我可以改变任何想法,让重定向转到没有www
的https答案 0 :(得分:0)
使用.htaccess进行重定向现在是一种过时的方式来重定向这样的请求,according to apache。相反,您应该在vhost文件中使用Intent.FLAG_ACTIVITY_NEW_TASK
:
Redirect
答案 1 :(得分:0)
出现这种情况有两个原因。
在您的第一套规则中,您重定向到www
,所以只需将其更改为:
RewriteRule ^(.*)$ https://example.com%{REQUEST_URI} [R=301,L]
您的第二组规则实际上是检查www
是否未启用,以及是否要强制www
。将规则更改为以下内容:
RewriteCond %{HTTP_HOST} ^www\.
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
所以上面现在检查www
是否打开 - 如果是,那么它将删除它。
但是,您可以将这两个规则结合起来,而不是将它们分开:
RewriteCond %{HTTP_HOST} ^www\. [OR]
RewriteCond %{HTTPS} !=on
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
确保在测试之前清除缓存。