我试图做一些搜索(并提出这个问题:How to rewrite a URL with %23 in it?)但它并不是我想要的。
我有一个网站,带有标签内容部分(x-tab,y-tab,z-tab等)。有链接:www.site.com/#x-tab。然后我使用jQuery监视每次单击-tab链接并显示所选内容。这很好。
我注意到我的日志中有很多404错误,指向www.site.com/%23x-tab,www.site.com/%23y-tab等,所以想要重写%23 * -tab到#* - tab(因为我希望x,y,z是动态的)。
非常感谢帮助
答案 0 :(得分:2)
这里有一点混乱:
当您使用%23
浏览器时,请将此字符作为URL的一部分发送。但是当你使用#
时,浏览器不会发送#
以及之后的任何内容作为URL的一部分。因此www.site.com/#x-tab
表示www.site.com/
表示URL(并被请求),但x-tab
表示位置哈希值。但是当你使用www.site.com/%23x-tab
浏览器时(确切地)将其发送给服务器。并且Web服务器在服务器上搜索文件23x-tab
。
所以你想要的是使用#
NOT %23
。
答案 1 :(得分:2)
我设法通过使用NE
标志解决了这个问题,即:
RewriteRule ^#x-tab / [R=301,L,NE]