【发布时间】:2018-05-01 11:51:09
【问题描述】:
我正在尝试将我网站上的所有non-www 重定向到www!我的 SSL 已配置为将所有 http 重定向到 https,但我发现的所有内容仅对我部分有效!
如果我输入mysite.com/en/articles/12/how-to-code,例如我被重定向到
www.mysite.com/index.php 应该是 www.mysite.com/en/articles/12/how-to-code
我已经尝试过解决这个SO question,我知道这个问题可能会重复,但其他解决方案对我不起作用!我正在使用 apache2。
这是我在 /public 文件夹中的 .htaccess
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews
</IfModule>
RewriteEngine On
# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/$ /$1 [L,R=301]
# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
# Handle Authorization Header
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
# Redirect to www
RewriteCond %{HTTP_HOST} ^[^.]+\.[^.]+$
RewriteCond %{HTTPS}s ^on(s)|
RewriteRule ^ http%1://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
</IfModule>
提前致谢
【问题讨论】:
标签: apache .htaccess mod-rewrite