在URL中重写hashbang

时间:2016-11-09 12:41:08

标签: javascript

我见过很多与网址重定向有关的问题,但我无法弄清楚如何执行以下操作:

当前网址:
/列表/任何-子目录/#评论-4

所需网址:
/列表/在-相同的子目录/#审查-4

我知道我可以使用以下内容获取ID:

RewriteCond %{QUERY_STRING} ^id=([0-9]*)$

虽然我不太确定如何制定RewriteRule。

非常感谢您提供的任何帮助!

修改

似乎如果我使用以下正则表达式
    #(.+-)

...然后用

替换它     #review-

...我可以获得正确的网址格式,至少使用this Regex tester

但我不确定如何通过Javascript将其付诸实践(因为这显然无法在.htaccess文件中完成,因为它是一个URL片段)。

1 个答案:

答案 0 :(得分:1)

/^\/listings\/[^\/]+\//.test(location.pathname) &&
    /^#comment-/.test(location.hash) &&
    location.replace(location.href.replace(/#[^-]+/, '#review'));

第一个replaceLocation.replace(),但第二个只是String.replace()