我想重定向到 https://www .
这意味着:
http:// --> https://www.
http://www. --> https://www.
https:// --> https://www.
https://www. --> no redirection
我尝试了很多事情,但从未达到那个目标。
我当前的 .htacces
:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP:X-Forwarded-Proto} =http
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ web/$1 [QSA,L]
</IfModule>
但问题是它不会重定向到 www
。所以我试着把它放在前面:
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ www.%{HTTP_HOST}/$1 [R=301,L]
但这会导致重定向 curl ,因此关闭我的网站。
PS: 我在 symfony 上
有人有神奇的解决方案吗? 谢谢!
最佳答案
您可以使用这些规则来强制执行 https 和
www`:
RewriteCond %{HTTP_HOST} !^www\. [OR,NC]
RewriteCond %{HTTP:X-Forwarded-Proto} =http
RewriteCond %{HTTP_HOST} ^(?:www\.)?(.+)$ [NC]
RewriteRule ^ https://www.%1%{REQUEST_URI} [L,R=301,NE]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ web/$1 [L]
关于php - htaccess 重定向到 "https://www.",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37068570/