2

URLの見栄えを良くするために、.htaccessをいじり始めました。

以下の最初の書き換えは正常に機能します。example.com/user/ 100は、example.com / index.php?p = profile&user=100を必要に応じて呼び出します

しかし、2番目のものは私が望むようには機能しません。何らかの理由で、$2パラメーターをフェッチできません。example.com/discussion/1873/iehf8383をexample.com/index.php?p=discussion&id=1873&token=iehf8383にリダイレクトしたい

.htaccessは次のとおりです。

Options +FollowSymLinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteRule ^user/(\d+)*$ ./index.php?p=profile&user=$1
RewriteRule ^discussion/(\d+)/(\d+)*$ ./index.php?p=discussion&id=$1&token=$2
4

2 に答える 2

1

\d数字に一致するため、例は2番目のルールに一致しません。代わりにこれを試してください:

RewriteRule ^quiz/(\d+)/([\w\d]+) ./index.php?p=discussion&id=$1&token=$2

これにより、トークンに数字だけでなく、任意の英数字を含めることができます。

于 2012-11-20T06:30:48.230 に答える
0

変化 :

RewriteRule ^quiz/(\d+)/(\d+)*$ ./index.php?p=discussion&id=$1&token=$2

に:

RewriteRule ^quiz/(\d+)/([^/]+)$ index.php?p=discussion&id=$1&token=$2
于 2012-11-20T06:30:21.087 に答える