改变Apache CustomURL / Rewrite

时间:2012-04-19 16:24:03

标签: php apache url-rewriting

我在.htaccess文件中设置了以下重写:

RewriteRule ^(\w+)/?$ profile.php?customURL=$1 [NC,L]

它适用于a-z A-Z 0-9,但现在我需要添加对连字符的支持。

所以我把它改成了:

RewriteRule ^[a-zA-Z0-9\-]+$ profile.php?customURL=$1 [NC,L]

但是现在PHP看不到$_GET["customURL"]的内容(即它是空的)。我做错了什么?

3 个答案:

答案 0 :(得分:2)

将规则更改为:

RewriteRule ^([a-zA-Z0-9\-]+)/?$ profile.php?customURL=$1 [NC,L]

它就像一个魅力。

答案 1 :(得分:1)

将其更改为:

RewriteRule ^([a-zA-Z0-9\-]+)?$ profile.php?customURL=$1 [NC,L]

现在应该工作。

答案 2 :(得分:0)

看起来您跳过括号以分组$ 1:

^([a-zA-Z0-9\-])+$ profile.php?customURL=$1 [NC,L]