特定の拡張子を持つファイルへのすべての要求を処理する必要のある特定のファイル(このファイルをfile-handler
と呼びます)を私のサーバーに持っています。しかし、file-handler
自体には直接アクセスできません。特定のURLを404に書き換えても、同じURLに別の書き換えられたURLでアクセスできるようにするにはどうすればよいですか?
- 置き、パスワード保護されたディレクトリ内
file-handler
:私が試した何。残念なことに、特定のディレクトリに書き換えられたURLはブラウザ(したがってサーバー)にパスワードを要求するため、この方法は機能しません。
file-handler
への直接アクセスをデフォルトの404ページに書き直します。残念ながら、file-handler
に書き換えられたURLはmod_rewriteによって404ページを提供します。
第二の試みのための出典:最初の404施行規則の
RewriteBase/
RewriteRule dontallowdirectaccess\.xxx$ - [R=404,L]
#Only serve existing files to the file-handler
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule \.ext$ dontallowdirectaccess.xxx [QSA,L]
私は[?\ s /]部分を削除しましたが、これは機能しているようです。しかし、[?\ s /]部分を文字列の終わりのフラグ($)に置き換えると、それは私のページに役立ちます、なぜですか? –
'$'は入力の終わりを意味するのに対して、この変数の値の例は 'GET /index.php?id=123 HTTP/1.1'なので、URI自体で終わるわけではありません。 – anubhava
これは、物事をクリアする、ありがとう! –