少し mod_rewrite の問題があります。
シンプルなhrefリンクを含むindex.php(ルートディレクトリ内)があります:
<a href="novice/this-is-something">Novice</a>
初心者をクリックすると、novice.php ファイルにリダイレクトされます (これは mod_rewrited であり、URL ではNovice.php?query=this-is-something のようには見えませんが、novice /this-is-something のように見えます(この-is-something is my query)) 問題は、novice.php ファイルで「this-is-something」クエリを取得しようとしている場合です。
次のように、novice.php ファイルでこのクエリを取得しています。
if (isset($_GET['query'])){
$query=$_GET['query'];
echo $query;
}else{
echo 'Null parameters.';
}
しかし、それはちょうど0を出力します
しかし、次のように、href リンクで数値を渡す場合:
<a href="novice/2131">Novice</a>
novice.php ファイルの出力は正しいです: 2131
.htaccess に次のようなコードがあります。
RewriteRule ^novice/([^/\.]+)/?$ novice.php?query=$1 [L]
$_GET メソッドで数値を取得できるのに、$_GET で文字列や文字を取得できないという mod_rewrite の何が間違っているのでしょうか。