2012-04-07 12 views
0

私はPHPを使用しています。すべてのリクエストをindex.phpファイルにリダイレクトしてそこにアクセスする必要があります。たとえば、mysite.com/aはmysite.com/index.php?id=aにリダイレクトして、コード内のparamにアクセスできます$ _GET ["id"]これを行うには、次のコードで.htaccessファイルを作成しました。パラメータを渡していない.htaccessによるURL書き換え

Options +FollowSymlinks 
RewriteEngine on 
RewriteRule [a-z] index.php?id=$1 [NC] 

注:ここではすべての要求を小文字で検討しています。

私はこのように私のindex.phpファイル内のIDにアクセスしようとしています:

<?php 
echo "sample redirection: <br/>"; 
echo $_GET["id"]; 
?> 

これは、リダイレクトが、パラメータを渡していません。私の出力は次のようになります:

sample redirection: 

このパラメータは表示されません。助けて。

+0

整数を使用している場合は、再書き込みに整数を追加しないでください。 –

+0

は整数を使用していませんが、今はアルファベットのみの解決策が必要です。 – Sourabh

答えて

1

[a-z]の後ろにドル記号が必要です。

RewriteRule ([a-z])$ index.php?id=$1 [NC] 

[a-z]は、1つの文字にのみ一致します。文字列を一致させるには、

RewriteRule ([a-z]*)$ index.php?id=$1 [NC] 
+0

いいえ、これは動作しません。 – Sourabh

+0

あなたのページに文字を渡していますか? '[a-z]'は文字セットa-z(かなり明白です)ので、パラメータとして数値を渡そうとするとうまくいきません。 –

+1

また、Apacheで 'mod_rewrite'を有効にしていますか? –