这是我目前的htaccess,我使用的是mod_rewrite
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule !^/?admin/.+$ index.php [L]
RewriteRule ^admin/(.*)$ admin/index.php [L]
我需要将管理员请求重写为admin/index.php
和其他/index.php
请求
例如:
localhost/example
至/index.php
localhost/foo/bar
至/index.php
localhost/admin/login/
至admin/index.php
localhost/admin/pages/
至admin/index.php
以上规则工作正常但它也适用于CSS样式或javascripts。这意味着admin/js/jquery.js
也将重写为admin/index.php
(文件路径存在)。我错过了什么?
答案 0 :(得分:2)
您需要复制2个条件,这些条件仅适用于下一个RewriteRule
:
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule !^/?admin/.+$ index.php [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^admin/(.*)$ admin/index.php [L]