编写允许句点的htaccess重写的问题

时间:2017-11-16 00:07:19

标签: regex .htaccess mod-rewrite

我正在尝试修改我的社交网络网站的htaccess以允许句点(。)和其他符号,就像Instagram和Twitter一样。这是我已经拥有的那个。

RewriteEngine On
RewriteRule ^([a-zA-Z0-9_-]+)$ shop.php?u=$1
RewriteRule ^([a-zA-Z0-9_-]+)/$ shop.php?u=$1

任何时候用户(例如website.com/b.i.scol,作为个人资料链接,尝试输入他的个人资料,我们接下来看到的是错误。)

1 个答案:

答案 0 :(得分:0)

我认为错误是404?你的正则表达式的字符类[]不允许. s,添加它,你应该好好去。此外,您可以使用?使字符/组可选,这将减少您需要的表达式数量。

RewriteRule ^([a-zA-Z0-9_.-]+)/?$ shop.php?u=$1

您还需要-在字符类中作为文字的最后(或第一个),如果它在2个字符之间,则会创建一个范围。

a-zA-Z0-9_也可以缩短为\w。所以

RewriteRule ^([\w.-]+)/?$ shop.php?u=$1

也应该有效。