4

htaccess ファイルと簡単なルールを作成しただけです。

RewriteRule ^/?([a-z]{2})/([0-9]{4})/?$ /run/run.php?country=$1&year=$2 [NC,L]
This does http://www.localhost/us/2014

PHPページで、私は誤って次のことを行いました:

echo $country.' '.$year;

これにより、以下の出力が得られました。これは正しいです。

us 2014

私はしませんでした:

$country = $_GET['country'];
$year = $_GET['year'];

しかし、それでもうまくいきました。これは正常な動作ですか。これを残りのルールとサイトに使用できますか? Windows 7 Home Premium で WAMP を使用しています。

4

2 に答える 2

2

私の意見では、これは .htaccess と共通点はありません。PHP が取得するのは ReWrite ルールの 2 番目の部分なので、$_GET変数にアクセスできる必要があります。サーバーが取得http://www.localhost/us/2014し、PHP が取得します/run/run.php?country=us&year=2014

nauphal が書いたように、これは (おそらく) register_globals の問題である可能性があります。

于 2013-05-27T12:47:38.790 に答える