0

我正在尝试将所有 .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
4

1 回答 1

1

尝试将您的规则更改为:

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

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

于 2012-08-09T19:56:59.380 回答