根文件夹中.pdf/.doc文件的 .htaccess 重定向



>我正在尝试创建一个类似于下面的重写规则

RewriteRule ^/?(.*+/.pdf)$ /site-content/import/uploads/$1 [L,R=301]

任何类似于

http://hostname/filename.pdf

应重定向至

http://hostname/site-content/import/uploads/filename.pdf

但是,如果请求文件名位于子文件夹中,则不应重定向,也不应重定向除.pdf或.doc文件以外的URL

http://hostname/sub-page/filename.pdf
http://hostname/sub-page/sub/filename.pdf
http://hostname/sub-page
http://hostname/image.png

你可以使用这个:

RewriteRule ^([^/.]+.pdf)$ /site-content/import/uploads/$1 [R,L]

或这个:

RedirectMatch ^/([^/.]+.pdf)$ /site-content/import/uploads/$1

在测试此重定向之前清除浏览器缓存。

编辑:

上面的示例仅重定向.pdf文件,要重定向.pdf和.doc,您可以使用此规则:

RewriteRule ^[^/.]+.(pdf|doc)$ /site-content/import/uploads%{REQUEST_URI} [L,R]
尝试正

则表达式^/[^/]+.(pdf|doc)$ 。将匹配第一个/,任何不/并以.pdf.doc结尾的字符。

正则表达式 101 示例


RewriteRule ^/([^/]+.(?:pdf|doc))$ /site-content/import/uploads/$1 [L,R=301]

最新更新