0

我有以下 HTACCESS 代码:

Options +FollowSymLinks
RewriteEngine On
RewriteBase   /

#RewriteCond %{REQUEST_URI} !(/cms/|/js/|/mobile/)* [NC]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ /page.php [L]

就目前而言,它可以在站点根目录中按我的需要工作,但访问管理页面 ( /cms/),我可以通过 PhpConsole 告诉它仍在访问 page.php。我认为这是因为管理员由查询字符串控制:URI 看起来像/cms/?view=pages&action=edit&id=4

如果我取消注释第一个条件,则不再出现此问题,但我的前端返回不存在的文件的 404,而不是重定向到 page.php

我的代码有什么问题?

4

1 回答 1

1

用这个改变你的代码:

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule (?!^(cms|js|mobile)(/.*|)$)^.*$ page.php [L,NC]
于 2012-04-26T20:23:59.773 回答