mod_rewrite防止覆盖文件夹

时间:2014-04-12 14:00:17

标签: apache .htaccess mod-rewrite

我有以下mod_rewrite代码:

RewriteEngine On
RewriteRule /(.*)$ index.php?action=$1

它应改变,例如
http://test.com/page2 http://test.com/index.php?action=page2进入{{3}}
它确实很好,但我的所有文件夹现在也被覆盖了。如何告诉mod_rewrite只是覆盖根文件夹URL?

1 个答案:

答案 0 :(得分:1)

这应该有效:

RewriteEngine On

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