我有一个包含一系列PDF的站点,现在这些PDF可以交换为具有相同内容的适当页面。页面模板已创建,我现在尝试设置重写,以便所有先前的PDF链接都将重定向到相关页面,但是链接的版本也允许访问原始PDF。 / p>
我正在使用的当前解决方案如下:
add_rewrite_rule
将该URL转换为Wordpress可以处理的格式,并将字符串的第二部分作为参数使用,以获取页面内容。示例:
原始网址:http://example.com/files/pdf/filename.pdf
301重定向到:
http://example.com/pdf/filename.pdf
Wordpress使用它的重写规则来处理文件名,为用户提供以下服务:
http://example.com/index.php?pagename=pdf&pdf=filename.pdf
以上内容当前有效,但是我无法创建一个规则,该规则将允许访问.htaccess
或主题中的原始URL。我需要这样做,以便用户可以从新的PDF页面下载原始PDF。
工作部分:
.htaccess:
RewriteRule ^files/pdf/(.*.pdf)$ /pdf/$1 [NS,L,R=301]
主题:
add_rewrite_rule('pdf/(.*.pdf)$','index.php?pagename=pdf&pdf=$matches[1]','top');
尝试下载选项:
add_rewrite_rule('download/(.*.pdf)','files/pdf/$1','top');
实际上,发生的情况是download/filename.pdf
URL正在重新解析为/pdf/filename.pdf
URL,因为重定向似乎是回环。我尝试了L
和NS
标志的组合都无济于事。
我不确定这是否完全是正确的方法,但是可以提供任何帮助。
最后,如果可能的话,我希望能够将301部分包含在Wordpress中,这样就不需要手动进行htaccess编辑,但是我的研究表明这是不可能的。
谢谢!