如何使用mod-rewrite(iirf)仅重定向php文件

时间:2013-04-17 13:27:45

标签: php .htaccess mod-rewrite rewrite iirf

我目前有重定向(使用IIRF,但我相信这与.htaccess规则相同)设置,以便所有文件都不会被重定向,只是直接进入URL中的文件路径,但其他一切被重定向到/index.php 使用以下代码:

RewriteCond %{REQUEST_FILENAME} !-f

RewriteRule ^(.*)$ /index.php?request=$1 [L,QSA]

我还需要它将任何.php文件(但只有.php文件)重定向到index.php(与第二条规则相同)

总之,“www.example.com/foo”和“www.example.com/foo.php”都需要转到索引页面,但是“www.example.com/foo.js”和“ www.example.com/foo.css'(等等!)没有。

2 个答案:

答案 0 :(得分:6)

尝试:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ /index.php?request=$1 [L,QSA]

RewriteCond %{REQUEST_FILENAME} !index\.php
RewriteCond %{REQUEST_FILENAME} \.php$
RewriteRule ^(.*)$ /index.php?request=$1 [L,QSA]

答案 1 :(得分:0)

我想,你需要这样的东西

RewriteCond %{REQUEST_FILENAME} *.php$