Htaccess使用PERIOD重写规则

时间:2011-01-11 22:23:11

标签: .htaccess

当有人打字时,我需要一个规则

domain.com/finddomain.com指向domain.com?q=finddomain.com

非常简单,但“finddomain.com”中的句号导致我的规则失败。

我的规则是:

RewriteRule ^([A-Za-z0-9.]+)(/)?$ index.php?q=$1

“。”搞砸了。

非常感谢任何帮助!

2 个答案:

答案 0 :(得分:13)

您必须使用反斜杠\.来避开句点,因为句点代表任何字符。

因此,您的RegEx ^([A-Za-z0-9.]+)(/)?$确实匹配每个字符串..应该^([A-Za-z0-9\.]+)/?$(或^([A-Za-z0-9\.]+\.[a-zA-Z]+)/?$仅匹配具有TLD的域名。)

答案 1 :(得分:3)

尝试逃避点,因为正则表达式中的点表示“任何”

欢呼声