我有一个正则表达式如下
http://www.abc.com/signup.php?id=2
RewriteRule ^signup/([a-z]+)/([a-z]+)$ /signup.php?$1=$2 [L]
但这不起作用?任何人都可以帮助我。.htaccess 文件中有什么要启用的吗?
我有一个正则表达式如下
http://www.abc.com/signup.php?id=2
RewriteRule ^signup/([a-z]+)/([a-z]+)$ /signup.php?$1=$2 [L]
但这不起作用?任何人都可以帮助我。.htaccess 文件中有什么要启用的吗?
当您还传递数字时,您也应该在正则表达式中匹配它们:
RewriteRule ^signup/([a-z0-9]+)/([a-z0-9]+)$ /signup.php?$1=$2 [L]
您可能还想包含其他字符,或者更确切地说使用元类,例如\w
.
修改后,试试这个:
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
(但不重定向)。