2012-07-06 112 views
0

我有这个addrress
http://mysite.com/index.php?cat=7国防部重写锚

我写这个mod重写

RewriteRule ^category/(\d+) index.php?cat=$1 

这意味着:如果有人打开我的adrress,他会自动前往该地址:

http://mysite.com/category/7 

但我需要使用锚,也就是说,我需要在开幕式我的地址,发生重定向到这个地址:

http://mysite.com/category/7#!somesome 

请告诉我,如何编写这样的RewriteRule?

回答

1

如果我正确理解你的问题,你想要使用(Apache的)mod重写获得URL片段(#之后的URL部分)。

不幸的是,这是不能做到的。根据Wikipedia's article

片段标识符功能不同于所述URI的其余部分,即:它的处理是专门的客户端与服务器没有参与

当代理(如Web浏览器)从Web服务器请求资源时,代理将URI发送到服务器,但不发送片段。

你必须解决这个问题,可能使用(客户端)javascript。

+0

是的,当你看到网站如谷歌翻译使用哈希字符串来维护上下文时,这是为了让一个JavaScript中的一个调用可以将上下文传递给它的下一个等价物。客户端的JavaScript可以看到这一点。它甚至不会被发送到服务器 – TerryE 2012-07-06 12:17:02