标题说明了一切,但我会再解释一下:
以下应匹配:
- domain / u = domain / user.html
- domain / u / usermame = domain / user.html?u = username
- domain / u / = domain / user.html
以下不应匹配:
- 域/用户
- domain / u(此处的任何其他字符,例如universe | uvwxyz)
我已经接近了,但我无法弄清楚如果它后面没有任何东西或者是斜线,那么它是如何匹配的。如果它之后是斜线,那么在斜线后面会有什么斜线。
我正在尝试在.htaccess中使用mod_rewrite将domain/user.html?u=xxx
转换为domain/u/xxx
。
答案 0 :(得分:0)
这个怎么样:
^domain\/u($|\/$|\/(?<username>.+)$)
用户名由命名组username
答案 1 :(得分:0)
我找到了解决方案,如下:
RewriteRule ^http://www.example.com\/u(\/(?<username>.+)$) user.html?u=username [L]
RewriteRule ^(u/$|u$) user.html [NC,L]
您可能已经注意到,第一行来自CyberDude的回答,我添加了第二行来阻止example.com/u&amp; example.com/u/简单地来自404'ing