Apache mod_rewrite将URL与#匹配

时间:2014-03-12 14:13:09

标签: apache mod-rewrite

我正在尝试重写一堆pdf网址。大多数人已经在工作,但我遇到了一些问题。这些问题都包含URL中的#page = xx。我希望#page = xx匹配,我不希望将该字符串附加到目的地。

例如:

RewriteRule ^/pdfdir/test.pdf$  http://newlocation.com/dir1/newdir/abc.pdf [R=301,L]
RewriteRule ^/pdfdir/test.pdf#page=3$  http://newlocation.com/dir1/newdir/def.pdf [R=301,L]

当我尝试使用/pdfdir/test.pdf访问我的网站时,它会正确匹配并重写。现在我希望test.pdf中的第3页请求转到新位置的完整单独的def.pdf。现在,它将#page = 3附加到第一个匹配目标,即abc.pdf。

任何建议都会受到最高的赞赏。

感谢

史蒂夫

1 个答案:

答案 0 :(得分:0)

#之后的部分是片段

根据定义,片段是位于页面内的位置

mod_rewrite不对片段部分进行操作。

RewriteRule主题中,您只能在URI上操作。这意味着,第一条规则是唯一适用于此的规则,因此每次都匹配。