2

URLを入力/?id=some_textしてそれを行うと、index.phpスクリプトは正常に機能しますが、そうすると/some_text、index.phpは常に値「index」を持つIDを受け取ります。

最初はRewriteRule ^([^/]+) ?id=$1Webページの代わりに「Internal Server Error」を返しましたが、それをRewriteRule ^([az]+) index.php?id=$1に変​​更し、エラーページの受信を停止しましたが、スクリプトは「index」を受信し始めました何を入力しても値として

このルールは、MAMP を使用してローカル マシンで機能しましたが、サーバーにアップロードすると機能しなくなりました。

このフォルダの .htaccess ファイルには、このルールのみが含まれています

RewriteEngine on
RewriteRule ^([^/]+) ?id=$1
4

1 に答える 1

1

ルールに一致しているように見えるので、おそらく index.php を再帰しようとしていたと思います。

試す:

RewriteEngine On
RewriteCond  %{REQUEST_URI}  !index
RewriteRule ^([^/]+) index.php?id=$1 [L]

RewriteCond は、それ自体の結果にルールを適用しないようにするためのものです。[L] は、他のルールを適用しようとしないことを確認することです。

于 2009-01-12T01:27:22.063 に答える