我很欣赏这些问题已经完成了死亡,但我似乎无法找到我需要的确切答案,所有最接近我的重定向非www到www,但我需要它反过来。
所以,我想做的是强制www始终为非www,从url重写index.php,并强制网站始终为SSL。
我有以下内容除了强制SSL之外什么都做了,我尝试了很多不同的东西,但总是得到无限循环:
# Rewrite www to non www
<IfModule mod_rewrite.c>
RewriteCond %{HTTPS} !=on
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule ^ http://%1%{REQUEST_URI} [R=301,L]
</IfModule>
Rewrite the index.php out
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^/(favicon\.ico|apple-touch-icon.*\.png)$ [NC]
RewriteRule (.+) index.php?p=$1 [QSA,L]
</IfModule>
答案 0 :(得分:0)
尝试更改此内容:
RewriteCond %{HTTPS} !=on
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule ^ http://%1%{REQUEST_URI} [R=301,L]
到
RewriteCond %{HTTPS} !=on [OR]
RewriteCond %{HTTP_HOST} ^www\. [NC]
RewriteCond %{HTTP_HOST} ^(?:www\.|)(.+)$ [NC]
RewriteRule ^ https://%1%{REQUEST_URI} [R=301,L]