htaccess非www。到www重定向并请求重写到index.php
问题描述:
试图2周的htaccess的RewriteRules同时结合:htaccess非www。到www重定向并请求重写到index.php
1)变换所有非www网址到www
2)发送的所有请求的index.php
2个作品具有以下设置生产:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [QSA]
但与
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L,NC]
组合
这些网址的行为与使用www网址时相同,但在与非www网址一起使用时很有趣。
E.g. http://mydomain.com/customername/admin/signin
成为http://www.mydomain.com/index.php/admin/signin?/customername/admin/signin
虽然URL应该仅仅停留不刷新相同,参数“/客户名称/管理/登入”应该传递到index.php ...
如何任何提示我可以做到这一点?我希望mydomain.com后的URL保持不变(因为我的解决方案目前是这样),但添加了www。 URL的前面。
答
它看起来像你只需要添加HTTP_HOST检查之前全部重写到index.php。
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L,NC]
这重定向到www 任何URI之前已被重写,以包罗万象的,则:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [QSA]
执行包罗万象的,这恰好非www盯着301重定向到www域。
谢谢!作品广告! ;) – Fredu 2012-01-17 21:19:44