【发布时间】:2010-10-23 18:32:35
【问题描述】:
我希望用多个子字符串重写 url。一个子字符串被请求为子目录,而任何其他子字符串被请求为正常的查询字符串参数。
例如,我想重写 url 从
http://www.mysite.com/mark/friends?page=2
到
http://www.mysite.com/friends.php?user=mark&page=2
除了问号字符之外,我能够完成此操作。这是我的重写规则:
...
RewriteEngine On
RewriteBase /
RewriteRule ^([A-Za-z0-9-_]+)/friends[?]?([^/\.]+)?$ friends.php?user=$1&$2 [L]
如果我将问号更改为任何其他字符,效果会很好。似乎问题在于'?字符被错误地解释为新查询字符串的开始。
我需要按原样传递 /user/friends 之后出现的任何参数。我该如何做到这一点?
【问题讨论】:
标签: regex apache mod-rewrite