2016-11-30 88 views
0

我想修改下面的ModRewrite块当URL开始这样才触发: http(s)://my-website.com/n/ ....htaccess的重写块 - 目标特定目录(PreRender.io缓存)

重写是用于将(角度)页面发送给PreRender进行缓存,以便搜索引擎可以对其进行索引。该网站的整个角部分生活/n/下,所以这是我需要缓存

<IfModule mod_proxy_http.c> 
     RewriteCond %{HTTP_USER_AGENT} baiduspider|facebookexternalhit|twitterbot|rogerbot|linkedinbot|embedly|quora\ link\ preview|showyoubot|outbrain|pinterest|slackbot|vkShare|W3C_Validator [NC,OR] 
     RewriteCond %{QUERY_STRING} _escaped_fragment_ 

     # Only proxy the request to Prerender if it's a request for HTML 
     RewriteRule ^(?!.*?(\.js|\.css|\.xml|\.less|\.png|\.jpg|\.jpeg|\.gif|\.pdf|\.doc|\.txt|\.ico|\.rss|\.zip|\.mp3|\.rar|\.exe|\.wmv|\.doc|\.avi|\.ppt|\.mpg|\.mpeg|\.tif|\.wav|\.mov|\.psd|\.ai|\.xls|\.mp4|\.m4a|\.swf|\.dat|\.dmg|\.iso|\.flv|\.m4v|\.torrent))(index\.php)?(.*) http://service.prerender.io/%{REQUEST_SCHEME}://%{HTTP_HOST}/$3 [P,L] 

回答

0

我想你要添加:

RewriteCond %{REQUEST_URI} /n/ 

,如:

RewriteCond %{HTTP_USER_AGENT} baiduspider|facebookexternalhit|twitterbot|rogerbot|linkedinbot|embedly|quora\ link\ preview|showyoubot|outbrain|pinterest|slackbot|vkShare|W3C_Validator [NC,OR] 
RewriteCond %{QUERY_STRING} _escaped_fragment_ 
RewriteCond %{REQUEST_URI} /n/ 

# Only proxy the request to Prerender if it's a request for HTML 
RewriteRule ^(?!.*?(\.js|\.css|\.xml|\.less|\.png|\.jpg|\.jpeg|\.gif|\.pdf|\.doc|\.txt|\.ico|\.rss|\.zip|\.mp3|\.rar|\.exe|\.wmv|\.doc|\.avi|\.ppt|\.mpg|\.mpeg|\.tif|\.wav|\.mov|\.psd|\.ai|\.xls|\.mp4|\.m4a|\.swf|\.dat|\.dmg|\.iso|\.flv|\.m4v|\.torrent))(index\.php)?(.*) http://service.prerender.io/%{REQUEST_SCHEME}://%{HTTP_HOST}/$3 [P,L] 
+0

谢谢。既然我看到你来自PreRender--在测试这个时候,我从缓存中删除了2页,其中1个会被过滤掉,另外一个应该通过。然后,我在浏览器中打开了这两页......从这一点来看,缓存需要多长时间?到目前为止,我已经等了10-15分钟... –

+0

如果您正在访问?_escaped_fragment_ = URL,它应该立即缓存它们。如果您希望我们为您检查更多信息,请随时通过[email protected]给我们发送电子邮件。 –