.htaccess重写PDF从root到子目录

时间:2012-08-09 15:48:22

标签: apache .htaccess mod-rewrite rewrite

我尝试自动将所有.PDF和.pdf文件从网站根目录重定向到名为docs的子目录。

请注意,网站根目录上没有任何实际的PDF,这就是我尝试使用!-f位的原因。

这是我到目前为止所提出的,但它不起作用。我将不胜感激任何帮助。

# redirect PDF files requested on the root '/' to /docs/<filename>.(pdf|PDF)
Options +SymLinksIfOwnerMatch
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^/(.(pdf|PDF))$ /docs/$1

1 个答案:

答案 0 :(得分:1)

尝试将规则更改为:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{DOCUMENT_ROOT}/docs%{REQUEST_URI} -f
RewriteRule ^/?(.*\.pdf)$ /docs/$1 [L,NC]

可能不需要第二个条件,如果请求以“.pdf”结尾但pdf实际上不存在,那么第一个条件为真,并且有一个重写循环(导致一个500服务器错误。)