mod_rewrite mod_pagespeed RewriteCond

4
我在我的 .htaccess 文件中有以下内容:
# Allow any files or directories that exist to be displayed directly
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

# Rewrite all other URLs to index.php/URL
RewriteRule .* index.php/$0 [PT]

服务器管理员已安装了Google mod_pagespeed,当它尝试访问/mod_pagespeed_beacon时,由于文件夹不存在,它会记录一个错误(并且不记录任何统计数据)。

我需要添加什么样的RewriteCond(在哪里添加),这样/mod_pagespeed_beacon才能正常工作?


请注意,您可以通过发送电子邮件至mod-pagespeed-discuss@googlegroups.com与我们联系,并在http://code.google.com/p/modpagespeed/issues/list上列出问题。 - sligocki
3个回答

7

我找到了我的问题的答案。只需添加以下内容:

RewriteCond %{REQUEST_URI} !^/mod_pagespeed_beacon

我认为重写条件在列表中的位置并不重要,与其他条件的顺序无关。

-- 编辑

我还需要以下内容才能访问统计信息:

RewriteCond %{REQUEST_URI} !^/mod_pagespeed_statistics

不错的解决方案,如果我们再次遇到这个问题,我们会记在心里。 - sligocki
感谢分享解决方案。这是一个更新的重写代码,适用于其他相关的URL... RewriteCond %{REQUEST_URI} !^/mod_pagespeed_[a-z_]+$ - Pothi Kalimuthu
1
这个答案已经过时了,适用于mod_pagespeed 1.9,请查看sligocki的最新答案。 - Richard

5
更普遍的做法是,你可以使用以下方式将名称中带有pagespeed的所有资源加入白名单:
RewriteCond %{REQUEST_URI} !pagespeed

请查看mod_pagespeed FAQ中的新部分

2

我有vBulletin 4 Suite + vBSEO 发现在 .htaccess 文件中添加这一行可以解决问题

# mod_pagespeed
RewriteCond %{REQUEST_URI} !(mod_pagespeed_statistics|mod_pagespeed_beacon) [NC]

请将它放在这行之前

RewriteRule ^(.+)$ vbseo.php [L,QSA]

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接