重写URL上的连字符的URL

时间:2012-01-16 07:46:48

标签: php mod-rewrite

我正在尝试启用mod_write的重写URL,并且无法使其适用于URL格式的连字符。你能帮我解决这个问题。

www.domain.com/username/Lord-Voldermort

重定向到

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

2 个答案:

答案 0 :(得分:1)

这应该有效:

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

答案 1 :(得分:1)

我会用两个规则。第一次重写/用户名/ xxx到user.php?username = xxx,然后将每个' - '替换为'':

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

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

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