我正在研究Apache 2.4中的一个重写规则,其中任何以.pdf /结尾的URL都应该添加一个查询参数并将其转换为.pdf?q = pdf。
例如: http : //www.example.com/us/elections.pdf/应该转换为http://www.example.com/us/elections.pdf?q=pdf
我试图使用下面的规则,它的工作
RedirectMatch 301 ^(。*)。pdf / $ 1.pdf?q = pdf
问题是我们也有一些像{hostname} /us/elections.pdf/ node /img.thumbnail.png
为此,上面的规则是在节点之前添加q = pdf并像{hostname} /us/elections.pdf?q=pdf_node_/img.thumbnail.png
我怎样才能避免这种情况发生?
我怎样才能改变我的规则,使其只适用于.pdf /最后的链接?
任何帮助将是伟大的。
如果你希望你的正则expression式匹配只有以“.pdf /”结尾,那么你应该相应地编写正则expression式,并包含string锚点的结尾。
更改:
RedirectMatch 301 ^(.*).pdf/ $1.pdf?q=pdf
至:
RedirectMatch 301 ^(.*).pdf/$ $1.pdf?q=pdf
注意正则expression式的结尾处的$ 。