.htaccess重定向锚页面/页面#anchor到url

时间:2013-12-10 19:30:27

标签: php .htaccess redirect web anchor

如何将page/page#anchor重定向到http://www.example.com/page/page

我尝试了以下代码,但它无效

RewriteRule ^page/page#anchor http://www.example.com/page/page [NE,L]

你能帮我吗?

彼得

2 个答案:

答案 0 :(得分:4)

由于#之后的URI组件仅由客户端处理,因此无法在服务器端完成。

您也可以使用此Javascript代码执行相同的操作:

<script>
if (location.href.indexOf("#") > -1) {
   location.assign(location.href.replace(/(page\/page)#anchor/i, "$1"));
}
</script>

答案 1 :(得分:0)

我认为#之后的数据被视为片段。片段数据不会发送到服务器。因此,您无法使用modrewrite捕获它。

NE标记可以让您捕获^/page/page并重定向到http://www.example.com/page/page#anchor,但它不会反过来。

简单的JavaScript替换将替换链接并允许用户单击它们。但如果这是你的最终目标,这对SEO没有帮助。