将所有流量重定向到root以包含路径mod_rewrite中的文件

时间:2011-03-16 04:18:20

标签: php .htaccess mod-rewrite

我正在试图找出如何将所有请求重定向到:

http://www.i2systems.com

在URL中包含“index.php”,如下所示:

http://www.i2systems.com/index.php

此请求:

http://www.i2systems.com/services/supply-chain-design/

成为这个:

http://www.i2systems.com/index.php/services/supply-chain-design/

我怎样才能做到这一点 - 我试过这个,但它不起作用:

RewriteCond %{HTTP_HOST} ^i2systems.com [NC]<br>
RewriteRule ^(.*)$ http://www.i2systems.com/$1 [L,R=301]<br>
RewriteRule ^$ index.php [L]

2 个答案:

答案 0 :(得分:2)

我会建议这样的事情:

RewriteEngine On    
RewriteCond %{REQUEST_URI} !^/index.php/.*
RewriteRule (.+) /index.php/$1 [R=301,L]

因为当index.php已经存在于请求URI的开头时,重要的是不重定向。

更新:为避免使用css,js重定向尝试此操作(假设您只希望 / services / 路径根据原始问题重定向):

RewriteEngine On
RewriteCond %{REQUEST_URI} ^/services/.*
RewriteRule (.*) /index.php/$1 [R=301,L]

答案 1 :(得分:0)

RewriteEngine On

RewriteCond %{query_string} ^(.*)
RewriteRule (.*) index.php/$1?%1