【发布时间】:2015-02-04 23:28:07
【问题描述】:
我目前在我的 htaccess 文件中进行了重写,需要考虑跳转链接。
我认为我遇到的问题是“#”一直被识别为评论。
我在这里看到了建议使用 [NE] 或 [R] 标志的问题,但要么我没有正确使用它们,要么它们没有做我需要的事情。
我目前的工作重写是:
RewriteRule ^news/([^/]*)/([^/]*)/*$ display_news.php?yid=$1&mid=$2 [L]
我的想法是在 url 的末尾添加另一个片段,如下所示:
RewriteRule ^news/([^/]*)/([^/]*)/1/*$ display_news.php?yid=$1&mid=$2#jumplink [L]
通过使用 [NE] 和 [R] 标志,我将 ? 替换为 3F 并将 $ 替换为 24 用于由 http://www.asciitable.com/ 给出的十六进制代码。我是否必须用特殊括号或其他东西将这些代码括起来? Apache 怎么会知道我的意思不是 3F 或 24。
当我尝试将这些十六进制代码放在我的文件中时的当前行为,我得到了内部服务器错误。
如果有更优雅的方法来解释 htaccess 文件中的跳转链接,我会全力以赴。
编辑:
这里建议的是我所期望的示例 URL。
http://website.com/news/2013/11 将映射到 display_news.php?yid=2013&mid=11
和
http://website.com/news/2013/11/1 将映射到 display_news.php?yid=2013&mid=11#jumplink
但我希望地址保持http://website.com/news/2013/11/1 的格式,并且只映射到页面。
【问题讨论】:
标签: regex apache .htaccess mod-rewrite url-rewriting