htaccess重定向到" https://www."

时间:2016-05-06 09:14:57

标签: php .htaccess redirect mod-rewrite ssl

我想重定向到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]

但这导致了重定向卷曲,因此关闭了我的网站。

PS:我在symfony

有人有神奇的解决方案吗? 谢谢你!

1 个答案:

答案 0 :(得分:0)

您可以使用这些规则强制执行https and 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]