0

例から始めましょう:

したがって、要求されるURLは次のようになります:www.domain.com/product/hdd/samsung

index.phpを取得し、www.domain.com以降のすべてをphp変数に保存するための書き換えルールが必要です。したがって、置換されたページは、たとえばwww.domain.com/index.php?query=product/hdd/samsungになります。しかし、私は正しいルールを書くことができません。

私はこれを試しました:

RewriteRule ^/(.*)$ index.php?query=$1 [NC,L]

上記のコードは機能していません。index.phpのPHPコードでクエリを使用したい:

if(isset($_GET["query"] )) {
   $query=$_GET["query"];
}

私は、代わりに$query経由する可能性があることを知りました、私は正しいですか?$_SERVER['QUERY_STRING']mod_rewrite

$query私のPHPアプリケーションは、テンプレートのロードに使用されるため、変数クリティカルです。

質問:どのような解決策をお勧めしますか?$_SERVER変数またはmod_rewrite?を使用するには の場合mod_rewrite、正しい書き方はRewriteRule

ありがとうございました

4

1 に答える 1

1

これを試して:

RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?query=$1 [NC,L]

サイトがサーバーのルートディレクトリにない場合は、に変更RewriteBase/some/subdir/ます。

于 2012-04-20T23:40:43.547 に答える