[英]htaccess mod_rewrite multiple paths to query string
我一直在搜索,但是找不到我想要的東西。 我正在嘗試找到一種優雅的方式,通過htaccess和mod_rewrite將URL路徑重定向到查詢字符串。
問題在於該路徑沒有固定的次要路徑,並且可能很大。
即http://example.com/sub1/sub2/sub3/sub4/sub5/sub6/sub7 ...
目前,我在htaccess中只有大量規則可以捕獲這些規則...
RewriteRule ^([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/]+)/? /index.php?sub[]=$1&sub[]=$2&sub[]=$3&sub[]=$4&sub[]=$5 [QSA,L]
RewriteRule ^([^/]+)/([^/]+)/([^/]+)/([^/]+)/? /index.php?sub[]=$1&sub[]=$2&sub[]=$3&sub[]=$4 [QSA,L]
RewriteRule ^([^/]+)/([^/]+)/([^/]+)/? /index.php?sub[]=$1&sub[]=$2&sub[]=$3 [QSA,L]
RewriteRule ^([^/]+)/([^/]+)/? /index.php?sub[]=$1&sub[]=$2 [QSA,L]
RewriteRule ^([^/]+)/? /index.php?sub[]=$1 [QSA,L]
...但是還有更多,有人知道一種自動將其解析為查詢字符串的方法嗎?
如果參數名稱始終相同,則可以僅依靠重寫引擎來循環遍歷它們:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)$ /index.php?sub[]=$1 [L,QSA]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)/(.+)$ /$2?sub[]=$1 [L,QSA]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.