簡體   English   中英

正則表達式匹配域/ u和域/ u /用戶名,但不匹配域/用戶

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

您可能已經注意到,第一行來自Cyber​​Dude的答案,我添加了第二行以防止example.com/u和example.com/u/僅僅進行404'ing

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM