10

我在 Apache/2.4.2-win32 服务器上有以下 .htaccess:

# Turn mod_rewrite on
RewriteEngine On

# Allow direct loading of files in the static directory
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^/?static/(.+)$ - [L]

# Send all other requests to controller
RewriteCond ${REQUEST_URI} !^/?(spf/index\.php)?$
RewriteRule .* spf/index.php [L,QSA]

这很好用,完全符合我的要求。对于那些不知道它做了什么的人来说,它会发送所有请求,spf/index.php除非它们是针对目录中存在的文件的static

该文件位于虚拟主机的文档根目录中。

通过此 .htaccess 的每个请求都会生成以下错误:

[Wed Aug 01 14:14:16.549835 2012] [core:warn] [pid 7100:tid 1076] AH00111: Config variable ${REQUEST_URI} is not defined

这实际上并没有引起问题——每个请求都按预期工作——但它填满了我的错误日志,我不喜欢它。

根据Google的说法,以前没有人遇到过这个错误。就我调试它而言,我真的不知道下一步该去哪里。

有人知道这里发生了什么吗?

PS我知道这可能是一个更适合SF的问题,如果普遍认为它不属于这里,我会移动它。

4

1 回答 1

12

您需要将 替换$%

RewriteCond ${REQUEST_URI} !^/?(spf/index\.php)?$

RewriteCond %{REQUEST_URI} !^/?(spf/index\.php)?$
于 2012-08-01T17:50:13.813 回答