【发布时间】:2019-11-06 04:21:31
【问题描述】:
我正在大修别人为我的组织构建的网站。它最初是用“不太好”的锚链接设置的,其中包括空格。我已经用效果更好的新锚替换了这些锚。
示例:
其中一个旧锚看起来像这样/course/#To Have,幸运的是浏览器会转换为/course/#To%20Have。我把那个锚改成了:/course/#to-have。
我现在想确保任何可能已在社交媒体上共享或可能从其他网站链接到的锚点仍然有效;我打算通过 .htaccess 文件中的重定向来执行此操作,例如这个:
Redirect 301 /course/#To%20Have /course/#to-have
经过一些研究,我发现这是不可能的,因为 URL 中有 #。而且我也没有看到一个锚被重定向到另一个锚的例子。
这可能吗?
【问题讨论】:
-
是的,
.htaccess无法做到这一点。但是,您可以使用 JavaScript 来转换哈希值并重定向。或者,更好的是,使用 JavaScript 进行转换,然后简单地找到要滚动到的元素(使用转换后的值) - 这可以防止重定向,我认为在这种情况下没有必要。 -
谢谢迈克。你能告诉我更多关于这方面的信息吗?我不确定我将如何完成您的建议。
-
请看下面我的回答。