[英]Regex to match domain/u & domain/u/username but not domain/user
标题说明了一切,但我将解释更多:
以下应匹配:
- 域/ u =域/user.html
- 域/ u / usermame =域/user.html?u=用户名
- 域/ u / =域/user.html
以下内容不匹配:
- 域/用户
- 域/ u(此处的任何其他字符,例如Universe | uvwxyz)
我已经接近了,但是我无法弄清楚如何仅在后面没有斜杠或斜杠的情况下进行匹配,以及在后面只有斜杠的情况下如何匹配斜杠。
我正在尝试在.htaccess中使用mod_rewrite将domain/user.html?u=xxx
转换为domain/u/xxx
。
这个怎么样:
^domain\/u($|\/$|\/(?<username>.+)$)
用户名是由名为组捕获username
我找到了解决方法,方法如下:
RewriteRule ^http://www.example.com\/u(\/(?<username>.+)$) user.html?u=username [L]
RewriteRule ^(u/$|u$) user.html [NC,L]
您可能已经注意到,第一行来自CyberDude的答案,我添加了第二行以防止example.com/u和example.com/u/仅仅进行404'ing
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.