我正在尝试创建一个类似于下面的重写规则
RewriteRule ^/?(.*+/.pdf)$ /site-content/import/uploads/$1 [L,R=301]
任何类似于
的url请求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]
关于php - .htaccess 重定向根文件夹中的 .pdf/.doc 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41995871/