4

我目前正在通过获取变量并将其插入新 URL 来重定向 URL。像这样:

RewriteCond %{QUERY_STRING} &pid=([0-9]*)$
RewriteRule ^vault/displayimage\.php$ photos/%1/? [R=301,L]

不幸的是,一些链接在旧系统中有一个不需要的标签,所以我想在没有它们的情况下重定向(或将它们剥离)。前任。- 通过上述重定向,我们采取类似

/vault/displayimage.php?album=5&pid=10#top_pictures

重定向到

/photos/10/#top_pictures

我希望它只是

/photos/10/

感谢您的任何提示!

4

2 回答 2

5

位置哈希仅存在于浏览器中,从不发送到服务器。因此,您不能用重写规则来影响它们。

这就是人们不建议使用它们的原因之一。

另请参阅URL 片段和 302 重定向

于 2012-12-09T21:25:53.070 回答
1

你可以使用

RewriteRule ^vault/displayimage\.php$ photos/%1/#? [R=301,L,NE]

这适用于 Chrome、Safari 和 Opera,但不适用于 Firefox。我目前无法测试 IE。

另请注意,您最终会出现#在 url 中。这比 好#top_pictures,但并不完全干净。

真正解决这个问题的唯一方法是使用一些 JavaScript。

于 2012-12-09T20:54:33.017 回答