所有php文件的RewriteCond%{REQUEST_URI}

时间:2016-11-13 17:42:51

标签: php .htaccess mod-rewrite

以下代码效果很好。然而,它需要花费很多时间来处理数百个php文件;

RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_URI} !^/abc.php
RewriteCond %{REQUEST_URI} !^/index.php
RewriteCond %{REQUEST_URI} !^/home.php
RewriteCond %{REQUEST_URI} !^/settings.php
RewriteCond %{REQUEST_URI} !^/messages.php
...
...
...
RewriteRule ^/?([a-zA-Z0-9\-=&_@/.]+)/?$ abc.php?u=$1 [QSA,L]

我必须逐行编写所有php文件。是否有任何简单的方法可以为所有php页面执行此操作?

1 个答案:

答案 0 :(得分:1)

是的,您可以使用:

RewriteEngine on
RewriteBase /

# The request is not for a valid file/directory
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+?)/?$ abc.php?u=$1 [L,QSA]

如果您只想排除PHP文件,可以使用:

RewriteCond %{REQUEST_URI} !\.php$ [NC]
RewriteRule ^(.+?)/?$ abc.php?u=$1 [L,QSA]