我在 .htaccess 文件中设置了以下重写:
RewriteRule ^(\w+)/?$ profile.php?customURL=$1 [NC,L]
它适用于 az AZ 0-9,但现在我需要添加对连字符的支持。
所以我把它改成:
RewriteRule ^[a-zA-Z0-9\-]+$ profile.php?customURL=$1 [NC,L]
但是现在 PHP 看不到里面的内容了$_GET["customURL"]
(即它是空的)。我做错了什么?
我在 .htaccess 文件中设置了以下重写:
RewriteRule ^(\w+)/?$ profile.php?customURL=$1 [NC,L]
它适用于 az AZ 0-9,但现在我需要添加对连字符的支持。
所以我把它改成:
RewriteRule ^[a-zA-Z0-9\-]+$ profile.php?customURL=$1 [NC,L]
但是现在 PHP 看不到里面的内容了$_GET["customURL"]
(即它是空的)。我做错了什么?
将规则更改为:
RewriteRule ^([a-zA-Z0-9\-]+)/?$ profile.php?customURL=$1 [NC,L]
它就像一个魅力。
将其更改为:
RewriteRule ^([a-zA-Z0-9\-]+)?$ profile.php?customURL=$1 [NC,L]
现在应该可以工作了。
看起来您跳过括号以 1 美元进行分组:
^([a-zA-Z0-9\-])+$ profile.php?customURL=$1 [NC,L]