htaccess重写条件和重写规则,用于使用具有peroids的特定名称重定向到页面

时间:2012-05-26 06:22:32

标签: php regex .htaccess

我有一个链接http://mysite.com/username,可以重定向到当前的个人资料页面

用户名..

此链接的htaccess代码为:

RewriteCond %{REQUEST_URI} ^/(\w+)/?$ [NC]
RewriteRule ^ profile.php?username=%1 [L,QSA]

但我的问题是,如果用户名包含句点(。),则此条件不起作用..

例如:如果链接是http://mysite.com/user.name,则显示未找到页面..

我想只允许用户名中的句点,不需要连字符或下划线...

我如何使用htaccess检查它?

有人帮助我......

1 个答案:

答案 0 :(得分:1)

将您的RewriteRule代码更改为:

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^([\w.]+)/?$ profile.php?username=$1 [L,QSA]

另请注意,在正则表达式中使用\w已包含下划线。