如果文件存在则 RewriteCond 跳过规则不起作用

如果文件存在则 RewriteCond 跳过规则不起作用

我在我的conf中使用它:

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

但诸如此类的文件/theme/styles.css仍然被重定向到index.php

有谁知道为什么这不起作用?

答案1

请注意,/theme/styles.css 是 REQUEST_URI 而不是 REQUEST_FILENAME;_FILENAME 是磁盘上的完整路径。尝试添加调试以查看正在评估的内容:

RewriteLog /tmp/rewrite.log
RewriteLogLevel 3

在日志中找到你的请求的相关部分,然后应该向您展示哪里出了问题,如果没有,请粘贴给我们看看。

相关内容