我希望服务器在特定条件下返回预渲染的内容。
这很好用
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)