我正在尝试提出一条规则,将所有PDF重定向到递归的不同目录,保留我正在进行的更改之外的路径。
初始目录是 / wp-content / uploads 目标目录是 / build / wp-content / uploads
所以/wp-content/uploads/2013/03/LW_Stevens.pdf
会重定向到/build/wp-content/uploads/2013/03/LW_Stevens.pdf
RewriteEngine On
RewriteRule ^wp-content/uploads/*/(.+\.pdf)$ build/wp-content/uploads/*/$1 [L]
显然/ * /部分是错的,我该如何正确地做到这一点?
答案 0 :(得分:1)
这是我的建议,在初始目录之后匹配或不匹配路径。 如果初始目录之后没有路径,则将忽略它。
RewriteRule ^wp-content\/uploads\/(?:(.+)\/)?(.+\.pdf)$ build/wp-content/uploads/$1/$2 [L]
您可以在此处查看返回的匹配项: http://rubular.com/r/16io6ZVSJc
答案 1 :(得分:0)
用以下内容替换您的规则:
RewriteRule ^(wp-content/uploads/.*?/[^.]+\.pdf)$ /build/$1 [L,NC]
并确保此规则置于.htaccess中的其他标准Wordpress规则之上。
答案 2 :(得分:0)
在两个答案中混合使用wordpress。
插件:John Godley重定向
重定向类型:regex 原始网址:^(/ pdfs /(?:(.+)/)?(.+。pdf)) 实际连结网址:URL $ 1