首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用RewriteRule从重定向中删除哈希标签

使用RewriteRule从重定向中删除哈希标签
EN

Stack Overflow用户
提问于 2012-12-10 02:39:05
回答 2查看 3.8K关注 0票数 4

我目前正在通过获取一个变量并将其插入到一个新的URL中来重定向URL。如下所示:

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

不幸的是,一些链接在旧系统中有一个标签,这是不需要的,所以我想在没有它们的情况下重定向(或剥离它们)。例如。-使用上面的重定向,我们采用如下内容

代码语言:javascript
复制
/vault/displayimage.php?album=5&pid=10#top_pictures

,它重定向到

代码语言:javascript
复制
/photos/10/#top_pictures

我只想让它成为

代码语言:javascript
复制
/photos/10/

谢谢你的建议!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-12-10 05:25:53

位置散列仅存在于浏览器中,不会发送到服务器。因此,您不能通过重写规则来影响它们。

这就是为什么people advise against using them

另请参阅URL Fragment and 302 redirects

票数 5
EN

Stack Overflow用户

发布于 2012-12-10 04:54:33

你可以使用

代码语言:javascript
复制
RewriteRule ^vault/displayimage\.php$ photos/%1/#? [R=301,L,NE]

这在Chrome、Safari和Opera中都能用,但在火狐中不能用。我现在不能测试IE。

还要注意的是,在url中以#结尾。这比#top_pictures更好,但不是完全干净。

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13790460

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档