0
我擁有一個Angular應用程序和一個Apache服務器。爲什麼prerender.io服務沒有達到這個配置?
我設置<meta name="fragment" content="!" />
在<head>
部分和$locationProvider.html5Mode(true);
在Apache服務器上我.htaccess
文件,我添加了這部分:
<IfModule mod_headers.c>
RequestHeader set X-Prerender-Token "My_Token"
</IfModule>
<IfModule mod_rewrite.c>
Options +FollowSymlinks
RewriteEngine on
# Don't rewrite files or directories
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule^- [L]
<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|\.ttf|\.woff))(.*) http://service.prerender.io/http://example.com/$2 [P,L]
</IfModule>
# Rewrite everything else to index.html to allow html5 state links
RewriteRule^index.html [L]
</IfModule>
然而,當我運行以下命令:
curl http://example.com?_escaped_fragment_=
我沒有得到prerendered文件。
聽起來Prerender的服務根本沒有被觸發。
我錯過了一些配置嗎?
當然有關於在htaccess中設置權限的問題。我檢查。這是'[P,L]'序列中的'P'標誌導致了403錯誤。這是一個已知的問題嗎? – Mik378
相關問題我剛纔要求:http://stackoverflow.com/questions/35224988/my-server-doesnt-allow-a-proxy-to-service-prerender-io#35224988 – Mik378