私はPHPでかなり単純なファイルブラウザを開発しています。PHPファイルブラウザmod_rewrite
ファイルはホーム/ウェブ/ WWW /アーカイブ/に
に位置しているアーカイブの下で対応するファイルと一致する必要があり、要求は/ファイルが
/files/sub/file.txt => /home/web/www/archive/sub/file.txt (dump as is)
/files/file.png => /home/web/www/archive/file.png (dump as is)
/files => /home/web/www/archive (directory, handled by /home/web/www/index.php)
/files/sub => /home/web/www/archive/sub (directory, handled by /home/web/www/index.php)
である、それはだ場合、私は私の.htaccessファイルが認識したいですアーカイブの下にあるファイル/の場合はそのままファイルを出力します。それをindex.phpに送信しない場合。
は
要求が直接ので、これは動作しないファイルを指していません。 – user568068
あなたの質問では、リクエストは '/files/sub/file.txt =>/home/web/www/archive/sub/file.txt'または'/files/sub =>/home/web/www/archive/sub'と入力します。したがって、最初の要求はファイルを直接指しているので、htaccessは無視し、2番目の要求はフォルダーを指しているので、インデックスに移動します。 – Avanche
リクエストが/ filesの場合、REQUEST_FILENAMEは/ home/web/www/archiveと一致しません。存在しない/ home/web/www/filesにマッチしようとします。リクエストは** never **/archiveです。 – user568068