我想建立网页锚点使用了mod_rewrite在网站上(Apache2的Ubuntu服务器9.04上运行)。

我的htaccess文件是这样的:

RewriteEngine On
RewriteRule ^information.php/([A-Za-z0-9-]+)/?$ information.php?display=$1  [NC,NE]

如果我用的是普通的URL查询会是这个样子: HTTP: //mydomain/information.php?display=faq#cost

我希望能得到这样的: 的 HTTP:// MYDOMAIN /信息/常见问题/成本

这是可能的?我的理解是,modrewrite忽略网页锚,浏览器处理它?我猜,我可以以某种方式使用mod_rewrite包括与请求锚信息,但我一直没能找到任何记录这一点,并一直在努力失败将它写自己几个小时。

谢谢!

有帮助吗?

解决方案

其实,如果你想在产生 URL有一个锚,然后是的,这是可能的。但不要忘记,在阿帕奇CONFIGS,#标记注释的开始。

如果你想要的是这样的 - 用户输入

http://example.com/page/anchor
和被重定向到
http://example.com/?p=page#anchor
- 你需要使用301重定向,或类似的东西,所以它不会对用户透明

结论:虽然可以写这样的重定向规则,它不能这样做完全的服务器端。所以,我认为,你可以点/information/faq/information.php?display=faq,然后使用网址,例如:

http://example.com/information/faq#foo
几乎你想要的东西,再加上他们不要弄乱缓存

(哇,它的午夜已经?)

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top