[英]htaccess redirect - use subfolders as parameters
我一直在為(例如)在線商店制定htaccess重定向指令。
產品顯示在product.php上,並帶有ID參數。
我的目標是擁有
products/someValue/someID
映射到
product.php?param1=someValue¶m2=someID
這是我到目前為止的位置。 這大部分都可以,但是有些事情並不是我想要的。 我需要它基本上將乘以斜杠將products/
后的所有內容分開,並使用每個斜杠作為參數,而不管是多少。 此外,尾部的斜杠是可選的-如果不包含此規則,我的規則將拋出404。 誰能指出我正確的方向?
RewriteRule ^products/(.*)/(.*)/.*$ /product.php?param1=$1¶m2=$2
您當前的正則表達式是貪婪的。 默認情況下,量詞是貪婪的。 添加?
使他們不高興。 或者,您可以更改您的正則表達式以匹配除/
之外的任何其他東西:
RewriteRule ^products/(.*?)/(.*?)(/.*)?$ /product.php?param1=$1¶m2=$2
RewriteRule ^products/([^/]*)/([^/]*)(/.*)?$ /product.php?param1=$1¶m2=$2
嘗試將正則表達式更改為非貪婪:
RewriteRule ^products/(.*?)/(.*?)/.*$ /product.php?param1=$1¶m2=$2
要么:
RewriteRule ^products/([^/]+)/([^/]+)/.*$ /product.php?param1=$1¶m2=$2
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.