【问题标题】:.htaccess redirect anchor page/page#anchor to url.htaccess 重定向锚页面/页面#anchor 到 url
【发布时间】:2013-12-28 12:06:46
【问题描述】:

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

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

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

你能帮帮我吗?

彼得

【问题讨论】:

  • 您要移除锚点?
  • 你好,我有example.com//page/page#,我需要重定向到example.com/video/photo
  • 这仍然不是很有帮助......所以你想制作example.com/page/page/#anchor example.com/page/page?您想删除主题标签/锚点吗?
  • 这是我的旧链接 o-firme/videoprezentace#omezeni 我的新链接是 o-firme/videoprezentace/navody-a-tutorialy。我需要将 o-firme/videoprezentace#omezeni 重定向到 o-firme/videoprezentace/navody-a-tutorialy

标签: php .htaccess redirect web anchor


【解决方案1】:

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

NE 标志可以让你捕获^/page/page 并重定向到http://www.example.com/page/page#anchor,但反过来就不行了。

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

【讨论】:

    【解决方案2】:

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

    您也可以使用这个 Javascript 代码来做同样的事情:

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

    【讨论】:

    • 查看您有问题的评论,您需要:location.assign(location.href.replace(/(videoprezentace)#omezeni/i, "$1/navody-a-tutorialy"));
    • 您好,非常感谢您一切顺利。谢谢,谢谢。
    猜你喜欢
    • 1970-01-01
    • 2014-04-09
    • 1970-01-01
    • 2022-01-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-29
    相关资源
    最近更新 更多