0

htaccess を使用して、自分の URL を localhost/profile.php?id=username ではなく localhost/username として書き込もうとしています。

私はそれを調べましたが、これが解決策であることがわかりました

DirectoryIndex index.php
RewriteEngine On
RewriteRule ^(.*)$ /profile.php?id=$1 [L]

これは、このstackoverflow question htaccess rewrite for query stringの正確なコピーですが、何らかの理由で常に500エラーが返されます。私はhtaccessの専門家ではないので、なぜこれが私に与えられているのかわかりません。ほとんどの場合、自分の用途に合わせてコードを変更するだけです。

Mod_rewrite は確実にオンになっています。だから私はそれが問題ではないことを知っています。私が持っているコードの何が問題なのですか?

編集:

これは、Apache エラー ログが返すものです。

[Sat Apr 27 14:20:10.558122 2013] [core:error] [pid 3244:tid 1688] [client 127.0.0.1:58653] AH00124: 構成エラーの可能性があるため、要求が 10 個の内部リダイレクトの制限を超えました。必要に応じて、'LimitInternalRecursion' を使用して制限を増やします。「LogLevel debug」を使用してバックトレースを取得します。

4

2 に答える 2

1

コメントごとに本当にリダイレクト ループである場合は、ルールの直前に次の行を追加してみてください。

RewriteCond %{REQUEST_URI} !-f
于 2013-04-27T18:35:40.937 に答える
0

それが言う部分/profile.php?id=$1は、あなたを書き換える場所です。それがファイルでない場合、エラーが表示されるので、書き換えたいファイルに変更してください。

これが役に立ったことを願っています

  • ケビン
于 2013-04-27T18:24:57.770 に答える