[英]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.