[英]URL Rewriting htaccess Rules - Apache
我正在嘗試創建一個REST API,該API可以接受多個參數作為分段URL
這是我當前的重寫規則,可以正常工作,但只處理一個分段變量,分段中只有一個項目類別ID。
^products/categories/([0-9]+)/?$ products.php?category_id=$1 [NC,L]
products/categories/?category_id=10
Iam想要做的是,我將像brand_id和color id這樣的其他id作為分段URL傳遞
^products/categories/([0-9]+)/([0-9]*)/([0-9]*)?$ products.php?category_id=$1 [NC,L]
並期望URL被重寫,如下所示
products/categories/?category_id=10&brand_id=5&color_id=7.
僅當我提供了所有3個ID時,上述重寫才能正常工作,並且如果我錯過任何一個ID都將失敗。 在我的情況下,對於請求,僅類別ID是必需的,而其他所有項目都是可選的。 如何在此處更改重寫URL,以使第二個和第三個變量成為可選項目?
謝謝
請參閱以下示例
您的網址http://test.com/products/categories/10/5/7
HTACCESS
RewriteRule ^產品/類別/([[0-9] +)/([0-9] )/([0-9] )?$ index.php?category_id = $ 1&brand_id = $ 2&color_id = $ 3 [L,QSA]
您可以獲取所有3個參數
如果要為參數創建動態規則,請檢查以下內容
對於單個參數(category_id)
RewriteRule ^產品/類別/([[0-9] +)?$ index.php?category_id = $ 1 [L,QSA]
對於兩個參數(category_id和brand_id)
RewriteRule ^產品/類別/([[0-9] +)/([0-9] *)?$ index.php?category_id = $ 1&brand_id = $ 2 [L,QSA]
對於三個參數(category_id,brand_id和color_id)
RewriteRule ^產品/類別/([[0-9] +)/([0-9] )/([0-9] )?$ index.php?category_id = $ 1&brand_id = $ 2&color_id = $ 3 [L,QSA]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.