0

HTTP:Authorization 環境変数をスクリプトに追加しながら、index.php ファイルを使用するように存在しない URL を書き換えようとしています。これまでのところ、一度にどちらかを機能させることしかできませんでした。両方ではありません。.htaccess のどこにエラーがあるか教えてもらえますか?

RewriteEngine on

# Get HTTP authorization
RewriteCond %{HTTP:Authorization} ^Basic.*

# Append to URL
RewriteRule (.*) index.php?_auth=%{HTTP:Authorization} [QSA,L]

# If a directory or a file exists, use it directly
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

# Otherwise forward it to index.php
RewriteRule (.*) index.php?_auth=%{HTTP:Authorization} [QSA,L]
4

2 に答える 2

0

Authorization ヘッダーは PHP 経由でアクセスできると確信しているため、値をクエリ引数として追加する必要はないようです。

$_SERVERスーパーグローバルを参照してください。おそらくキーAUTH_TYPEが探しているものですか?

<?php $_SERVER['AUTH_TYPE']) ?>

とにかく、まだ .htaccess ソリューションに固執している場合は、最初のルール全体をまとめて廃棄することができます。_auth パラメーターが存在する場合は、Authorization ヘッダーが追加されます。

# If a directory or a file exists, use it directly
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

# Otherwise forward it to index.php
RewriteRule (.*) index.php?_auth=%{HTTP:Authorization} [QSA,L]
于 2013-03-07T22:52:31.213 に答える