.htaccess 重定向锚页面/页面#锚点到 URL


.htaccess redirect anchor page/page#anchor to url

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

我尝试了以下代码,但它不起作用

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

你能帮帮我吗?

彼得

这不能在服务器端完成,因为#后的 URI 组件仅由客户端处理。

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

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

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

NE标志可能允许您捕获^/page/page并重定向到http://www.example.com/page/page#anchor但它不会反过来工作。

一个简单的JavaScript替换将替换链接并允许用户单击它们。 但是,如果这是您的最终目标,那将无助于您的SEO。