.htaccess - 不支持变量%{HTTP_USER_AGENT}

时间:2014-07-15 19:11:04

标签: .htaccess mod-rewrite

我目前正在开发一个AngularJS项目,而对于SEO,我决定使用自动爬虫 唯一的问题是他们要求将这几行添加到 .htaccess ,导致我的服务器上出现500内部服务器错误......

<ifmodule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{HTTP_USER_AGENT} .*googlebot.* [OR][NC]
    RewriteCond %{HTTP_USER_AGENT} .*bingbot.* [NC]
    RewriteRule .* http://crawlr.wombit.se/Crawler/htmlsnapshot?url=$1 [P]
</ifmodule>

tested those lines反对我的网站,答案是:
不支持此变量:%{HTTP_USER_AGENT}

我已经检查过一堆主题,看看我是否能找到解决方案,但我找不到任何适合我案例的内容......

PS:我也尝试删除所有其他规则,但我确信那些2 rewriteCond正在抛出错误。

更新 - 服务器配置

Apache 2.2.26版 PHP版本5.4.26
MySQL版本5.1.73-cll

1 个答案:

答案 0 :(得分:1)

不确定为什么会收到该错误,%{HTTP_USER_AGENT}是一个有效的apache 2. * mod_rewrite变量。我看到的问题是你的旗帜搞砸了。

[OR][NC]

需要

[OR,NC]

此外,您使用$1进行反向引用,但未在模式中创建分组,因此$1只是空白,因此您可能希望替换$1使用%{REQUEST_URI}或在您的模式中创建分组,方法是将其更改为(.*)