4

htaccess で RewriteMap ディレクティブを使用して単純なマッピングを実行しようとしていますが、何らかの理由で毎回エラー 500 が発生します。私の構文は .. オプション +FollowSymLinks

RewriteEngine on
RewriteBase /
RewriteMap name2id txt:nklist.txt
RewriteRule ^/name/(.*) /name_list_view.php?kid=${name2id:$1|NOTFOUND}

nklist.txt で:

1 David
2 Mark
3 Simon

nklist.txt ファイルは、htaccess がある場所と同じ、私の Web サイトのルートにあります。デバッグの結果、htaccess が nklist.txt ファイルを見つけられないことがわかりましたが、助けていただければ幸いです。

4

1 に答える 1

9

あなたの説明から、ファイルRewriteMapを介してディレクトリごとのコンテキストでを定義しようとしてい.htaccessますが、これは許可されていません。はRewriteMap、メイン サーバー構成または仮想サーバー セクションのいずれかで、サーバーごとのコンテキストでのみ定義できます。

サーバーに要求を行い、.htaccessファイルが解析されると、RewriteMapディレクティブが検出されてアラートが発行され、500 エラーがスローされます。error_log「RewriteMap はここでは許可されていません」というエントリが表示される可能性があります。

于 2010-07-22T06:47:38.907 に答える