Php 重写URL上连字符的URL

Php 重写URL上连字符的URL,php,mod-rewrite,Php,Mod Rewrite,我正在尝试启用mod_write的重写URL,但无法使其用于URL格式的连字符。你能在这方面帮助我吗 www.domain.com/username/Lord Voldermort 重定向到 www.domain.com/user.php?username=Lord Voldermort这应该可以: 重写规则^username/([a-z0-9\-]+)$/user.php?username=$1[QSA,NC,L]我会使用两条规则。首先将/username/xxx重写为user.php?use

我正在尝试启用mod_write的重写URL,但无法使其用于URL格式的连字符。你能在这方面帮助我吗

www.domain.com/username/Lord Voldermort

重定向到

www.domain.com/user.php?username=Lord Voldermort

这应该可以:


重写规则^username/([a-z0-9\-]+)$/user.php?username=$1[QSA,NC,L]

我会使用两条规则。首先将/username/xxx重写为user.php?username=xxx,然后将每个“-”替换为“”:

RewriteRule ^username/(.*)$ /user.php?username=$1

RewriteCond %{REQUEST_URI} ^user\.php\?username=
RewriteRule ^([^-]*)\-(.*) $1\ $2 [N]

编辑这不正常,您必须切换两个任务的顺序。无论如何,netadictos已经回答了您的问题。

这个问题只是一个例子。规则的正则表达式是什么来支持hypens?我目前正在使用这个
RewriteRule^username/([a-z0-9]+)$/user.php?username=$1[QSA,NC,L]
似乎无法将上述内容用于Hypens如果用户名确实包含连字符怎么办?