このような作業をしたいと思います。フォルダからPHPファイルへのすべてのアクセスをリダイレクト
私は、/ doc /フォルダ内に多数のドキュメントファイルを持っています。ユーザーがこのフォルダのコンテンツにアクセスしようとすると、何らかの確認が必要なので、そのアクセス権をルートフォルダのdownload.phpファイルにリダイレクトし、実際のREQUEST_URIをPHPファイルに渡す必要があります。
RewriteEngine On
RewriteBase/
RewriteCond %{HTTP_REFERER} !^http://(www\.)?example.com/doc.*$ [NC]
RewriteRule ^(.*)$ http://example.com/download.php?r=%{REQUEST_URI} [L,R=301]
しかし、私はリダイレクトされたURLにERR_TOO_MANY_REDIRECTSのエラーを得ている:私は、htaccessのファイルでこれを試す?この場合には、私が欲しいもの(download.phpないdownload.php R =/download.php、? r =/doc/abc/xyz.pdfが正しいです)
私が間違っていたことについて誰かが説明できますか?どうもありがとうございました。
に変更してください。あなたの書き直し線が間違っており、永久にループし続けます。毎回書き換え条件を使用しないようにファイルチェックを追加する必要があります。したがって、存在しないファイルを指しているときにのみ使用します。 次の行を追加してください。RewriteCond%{REQUEST_FILENAME}!-d – Brett