0

すべての .PDF および .pdf ファイルを Web サイトのルートから docs というサブディレクトリに自動的にリダイレクトしようとしています。

Web サイトのルートには実際の 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]

2 番目の条件は必要ないかもしれません。「.pdf」で終わるリクエストが行われたが、実際には pdf が存在しない場合に備えてあります。したがって、最初の条件が true であり、書き換えループが発生します (結果として 500 サーバー エラーが発生します)。 )。

于 2012-08-09T19:56:59.380 に答える