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

标签 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'(等等!)没有。

最佳答案

尝试:

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]

关于php - 我如何使用 mod-rewrite (iirf) 只重定向 php 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16061355/

相关文章:

url - foo.com/alice 与 foo.com/users/alice

php - INNODB Lock 有什么问题?

php - htaccess 从 url 中删除 .php 和 .html

apache - mod_rewrite 用于友好的 URL

.htaccess - Application.cpp :249: can't acces file 中的 SoftException

php - mod_rewrite 的简单通配符?

php - 使用 PHP/htaccess/mod_rewrite 强制使用 www 前缀

php - 如何使用 PHP 向任何文件添加数字签名(RSA、证书等)?

php - Laravel Mail::queue 不是异步的

php - 尝试根据用户名从数据库获取电子邮件