1

私は以下のような正規表現を持っています

http://www.abc.com/signup.php?id=2

RewriteRule ^signup/([a-z]+)/([a-z]+)$ /signup.php?$1=$2 [L]

しかし、これは機能していませんか?誰でも私を助けることができます.htaccessファイルで有効にするものはありますか?

4

2 に答える 2

2

数値も渡すので、正規表現でも一致させる必要があります。

RewriteRule ^signup/([a-z0-9]+)/([a-z0-9]+)$ /signup.php?$1=$2 [L]

他の文字も含めるか、 などのメタクラスを使用することをお勧めします\w

于 2013-02-12T14:32:37.487 に答える
0

編集後、これを試してください:

RewriteEngine On
RewriteCond %{QUERY_STRING} id=(\d+) 
RewriteRule ^signup\.php$ /signup/%1 [L,R=301]

RewriteRule ^signup/([0-9]+)$ /signup.php?id=$1 [L]

それはリダイレクトされ、次に書き換えられます(ただし、リダイレクト/signup.php?id=123されません)。/signup/123/signup.php?id=123

于 2013-02-12T14:32:30.573 に答える