1

私はこの.htaccessコードを持っています:

Options +FollowSymLinks  
RewriteEngine On  
RewriteCond %{SCRIPT_FILENAME} !-d  
RewriteCond %{SCRIPT_FILENAME} !-f  
RewriteRule ^([\w-]+)/*$ ./index.php?page=$1 

これにより、スラッシュの後にパラメーターを追加して、次の$_GETようにPHPで使用できます。

URL:

http://www.url.com/home

PHP:

<?php
    echo $_GET['home'];
?>

私の質問は、各スラッシュを取得して、その値$_GETをPHPが使用する新しいものとして渡すにはどうすればよいですか?問題は正規表現ソリューションを使用することになると思いますが、正規表現に精通していないため、理解できません。

例で明確にするために、私はこれが欲しいです:

http://www.url.com/param1/param2/param3

翻訳するには:

$_GET['param1'];
$_GET['param2'];
$_GET['param3'];

4

2 に答える 2

3

ここにアイデアがあります:

RewriteEngine On
RewriteRule ^([a-zA-Z0-9-=_.]+)/([a-zA-Z0-9-=_.]+)/([a-zA-Z0-9-=_.]+)/?$   http://www.example.com/index.php?par1=$1&par2=$2&par3=$3 [L]

スラッシュが含まれているため、(。*)は使用できません。

于 2012-12-03T16:13:26.740 に答える
2

書き換えモジュール内でそれを行わないでください。

代わりに、スクリプトを簡単に書き直して、そこにある生のリクエスト($ _SERVER ['HTTP_REQUEST_URI'])にアクセスします。リクエスト内で指定されたパスを取得します。このパスは、explode()関数を使用してスラッシュで区切ることができます。

于 2012-12-03T16:17:08.733 に答える