我目前正在开发一个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
答案 0 :(得分:1)
不确定为什么会收到该错误,%{HTTP_USER_AGENT}
是一个有效的apache 2. * mod_rewrite变量。我看到的问题是你的旗帜搞砸了。
[OR][NC]
需要
[OR,NC]
此外,您使用$1
进行反向引用,但未在模式中创建分组,因此$1
只是空白,因此您可能希望替换$1
使用%{REQUEST_URI}
或在您的模式中创建分组,方法是将其更改为(.*)
。