コンテンツまたは 404 メッセージのいずれかを提供する PHP スクリプトに、存在しない URL (厳密には 404 エラーではない) を書き換える .htaccess を使用したきれいな URL セットアップがあります。CSS、画像などに影響を与えないように、既存のファイルとディレクトリをこの書き換えから除外しました。
ただし、.htpasswd によってパスワード保護されているディレクトリが 1 つあります。これも書き換えルールをバイパスする必要がありますが、.htpasswd が有効になっている場合はそうではありません。
親ディレクトリ .htaccess:
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /callbacks.php [L]
次の .htaccess を持つ子ディレクトリがあります。
RewriteEngine on
Options All -Indexes
AuthName "Backstage Access"
AuthType Basic
AuthUserFile /path/to/.htpasswd
AuthGroupFile /dev/null
require valid-user
この行を削除するrequire valid-user
と、親ディレクトリの書き換えルールによって子ディレクトリが無視され、ブラウザからアクセスできるようになります。しかし、認証をオンにすると、親ディレクトリの .htaccess によって子ディレクトリが に書き換え/callbacks.php
られ、カスタム 404 エラーが発生します。
これを修正する方法についてのアイデアはありますか? 明らかに、パスワード保護の必要性を取り除くことはできません。親の書き換えルールを削除して、代わりに単純/callbacks.php
に 404 エラー ドキュメントとして使用しようとしましたが、POST および GET データは転送されません。