mod_rewrite条件重定向到快照

时间:2015-10-06 20:25:05

标签: apache .htaccess mod-rewrite

我希望服务器在特定条件下返回预渲染的内容。

这很好用

RewriteEngine On

RewriteRule ^(.*)/$ /$1 [L,R=301]

RewriteCond %{QUERY_STRING} _escaped_fragment_=
RewriteRule ^\/?(?!snapshots)(.+$) /snapshots/$1? [P,L]

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]

但如果我添加了使用条件,

RewriteEngine On

RewriteRule ^(.*)/$ /$1 [L,R=301]

RewriteCond %{HTTP_USER_AGENT} ^.*(vkShare).*$ [OR]
RewriteCond %{QUERY_STRING} _escaped_fragment_=
RewriteRule ^\/?(?!snapshots)(.+$) /snapshots/$1? [P,L]

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]

服务器挂起很长时间,然后返回错误502,而不是我使用指定的useragent。

在access.log中,我看到很多这样的行:

127.0.0.1 - - [06/Oct/2015:23:46:36 +0300] "GET /snapshots/index.php HTTP/1.1" 502 563 "http://localhost/someurl" "vkShare"

我的错误在哪里?

服务器版本:Apache / 2.4.7(Ubuntu)

0 个答案:

没有答案