.htaccess重定向为SEO配置

时间:2016-03-05 20:25:59

标签: angularjs .htaccess seo

我有一个基于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)。 我有什么遗失的东西吗? 谢谢。

1 个答案:

答案 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