0

要求されたパスを含むクエリパラメータを使用して、Webサイトからファイルindex.phpにすべてを書き直そうとしていますが、単にRewriteRule ^(.*)$ index.php?url=$1 [L]index.phpファイルを実行すると、URLにindex.phpが含まれていることが表示されます... localhost/123またはlocalhost/123.phpと入力し、常にURLパラメーターのパス部分を取得します。

print_r($_GET['url'])Array ( [url] => index.php )パス部分に関係なく出力します。

私の英語で申し訳ありませんが、私が何を意味するのか理解してくれることを願っています:)

4

1 に答える 1

1

RewriteRuleで別のフラグを使用してみてください

[L]の代わりに

RewriteRule ^(。*)$ index.php?url = $ 1 [L]

[QSA]のようなものを試してください

RewriteRule ^(。*)$ index.php?url = $ 1 [QSA]

さまざまなタイプのフラグのリストと情報については、Apacheのドキュメント

http://httpd.apache.org/docs/current/rewrite/flags.htmlを確認してください。

于 2013-03-18T20:53:12.637 に答える