【发布时间】:2015-12-28 10:35:09
【问题描述】:
如果用户忘记输入并通过[QSA] 重定向到index.php 仍然支持MVC,我想在URL 中添加www
这是我目前的工作.htaccess
RewriteCond %{REQUEST_FILENAME} !-l
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^ index.php [L,QSA]
使用这个 .htaccess 一切正常,我可以输入
www.abc.com/xxx/yyy访问任何特定页面
无论如何,因为我使用的是 Facebook 身份验证,所以我必须阻止我的用户在没有 www 的情况下输入网站 URL,所以我尝试编辑我的 .htaccess
RewriteCond %{HTTP_HOST} ^abc\.com$
RewriteRule ^(.*)$ http://wwww.abc.com/$1 [R=301,QSA]
RewriteCond %{REQUEST_FILENAME} !-l
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^ index.php [L,QSA]
使用此配置,如果我输入
abc.com,我会被重定向到www.abc.com,但如果我输入abc.com/xxx/yyy,我只会被重定向为www.abc.com,而不是被重定向到特定页面。
我也试过
# 1
RewriteCond %{HTTP_HOST} ^abc\.com$
RewriteRule ^(.*)$ http://wwww.abc.com/$1 [QSA]
# 2
RewriteCond %{HTTP_HOST} ^abc\.com$
RewriteRule ^(.*)$ http://wwww.abc.com/index.php [QSA]
# 3
RewriteCond %{HTTP_HOST} ^abc\.com$
RewriteCond %{REQUEST_FILENAME} !-l
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ http://wwww.abc.com/$1 [L,QSA]
它们都不起作用,请指导怎么做
谢谢。
【问题讨论】:
标签: php apache .htaccess mod-rewrite redirect