瞄准
我想替换所有URL的“+”符号并将它们转换为“-”。URL中可以有任意数量的“+”,也可以有任意数量的斜杠。我不想重写搜索页。
示例
https://domain.co.uk/used+cars https://domain.co.uk/used-cars https://domain.co.uk/accessories/car+accessories/ferrari+accessories https://domain.co.uk/accessories/car-accessories/ferrari-accessories https://domain.co.uk/accessories/car+repair+supplies/old+cars/even+older+cars https://domain.co.uk/accessories/car-repair-supplies/old-cars/even-older-cars
到目前为止
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/+(.*?)(?:,|\+)+(.+?)\sHTTP [NC] RewriteCond %{REQUEST_URI} !^/search RewriteRule ^ /%1-%2 [L,NE,R=301]
您可以使用这两个规则来替换每个规则 + 具有 - :
+
-
RewriteEngine On # executes repeatedly as long as there are multiple + in URI RewriteRule "^([^+]*)\+([^+]+\+.*)$" $1-$2 [N,DPI] # executes when there is a single + in URI RewriteRule "^([^+]*)\+([^+]*)$" /$1-$2 [L,R=301,NE]
确保在site root.htaccess中保留这些规则,并确保从新浏览器进行测试。