我相信應該有一種比我目前擁有的更簡單的方法來重寫 URL,不知道是否有人可以提供幫助。
我正在開發的網站有多個品牌,例如:
https://example.com/anything/brand/nike/something
https://example.com/anything/brand/puma/something
我目前的重定向將是
RedirectMatch 301 "(.*)/brand/nike(.*)$" "$1/manufacturer--nike"
為了讓我得到以下輸出,洗掉/brand/并替換nike為manufacturer--nike并最終洗掉 ie后面的任何內容/something。
https://example.com/anything/manufacturer--nike
現在我可以為Puma每個其他品牌添加第二條規則,但我想有一種方法可以匹配品牌串列并使用一個規則,但我的 Google 技能未能找到解決方案。
有辦法嗎?
uj5u.com熱心網友回復:
如果品牌數量有限,那么您可以在正則運算式中使用交替(例如nike|puma|brand等),以匹配nikeorpuma或brand。
旁白:要匹配nike/<something>,你應該為斜線至少檢查,否則它會匹配nikeeeee和nikey等(雖然不一定是一個問題。)
例如:
RedirectMatch 301 "(.*)/brand/(nike|puma|brand)/" "$1/manufacturer--$2"
將(.*)$在正則運算式的結尾-簡單地洗掉URL路徑的結尾部分-不是必需的。
該$2反向參考包含“名牌”的第二捕獲(交替)子模式相匹配。
重寫 URL 的方法
澄清一下,這是一個外部重定向,而不是“重寫 URL”。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/316584.html
上一篇:htaccess重定向負前瞻
