0

次のような URL があります。www.mydomain.com/file/a-file.pdf

私が望むのは、REQUEST_URI がこれで始まる場合です。/file/次に、(ルート ディレクトリにある) file.php が要求を処理する必要があります。ただし、このような URL の場合は、www.mydomain.com/files/a-file.pdf書き換える必要はありません。

私はこれをやったが、うまくいかない:

RewriteCond %{REQUEST_URI} ^/file/
RewriteRule .* file.php [L]

最初の行の最後の / を削除すると、機能しますがwww.mydomain.com/files/a-file.pdf、書き直されます。

私が間違っていることは何ですか?

4

1 に答える 1

0

おそらく最も簡単なのは、実際のファイルと一致するリクエストを無視することです。次のように拡張します

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteCond %{REQUEST_URI} ^/file
RewriteRule .* file.php [L]

これは、 /files/a-file.pdf が実際のファイルであることを前提としています。

于 2013-11-19T16:25:00.763 に答える