我有一个基于angularJs的产品组合,Google抓取工具为类似平台提供了一个URI工具。将#!
替换为?_escaped_fragment_=
,您可以使用服务器重定向来更改目录以提供静态文件。
我不使用#!
,因此最后会插入?_escaped_fragment_=
。我喜欢做的是制作这种模式:
www.mywebsite.com/?_escaped_fragment_=
www.mywebsite.com/page/?_escaped_fragment_=
www.mywebsite.com/page/5?_escaped_fragment_=
重定向到
www.mywebsite.com/snapshot
www.mywebsite.com/snapshot/page/
www.mywebsite.com/snapshot/page/5
这是我使用的.htaccess文件:
RewriteEngine On
RewriteCond %{QUERY_STRING} ^_escaped_fragment_=$
RewriteRule ^$ /snapshot/
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} -f [OR]
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} -d
RewriteRule ^ - [L]
RewriteRule ^ /index.html
问题是它只适用于基本URL(index.html)。 我有什么遗失的东西吗? 谢谢。
答案 0 :(得分:0)
你必须使用这样的转义片段:
http://yourangularwebsite.com/?_escaped_fragment_=/page/5
然后将其重定向到.htaccess:
RewriteCond %{QUERY_STRING} _escaped_fragment_=/([^&]*)
RewriteRule ^$ /snapshot/%1 [R,L]
这应该会将您重定向到http://yourangularwebsite.com/snapshot/page/5?_escaped_fragment_=/page/5