Nginx
如何在nginx中傳遞超過9個參數
這條規則
location / { rewrite ^/(.+)/(.+)/(.+)/(.+)/(.+)/(.+)/(.+)/(.+)/(.+)/(.+)$ /index.php?param1=$1¶m2=$2¶m3=$3¶m4=$4¶m5=$5¶m6=$6¶m7=$7¶m8=$8¶m9=$9¶m10=$10 last; }
在
$10
它的作用下,它給了我在它末尾帶有 a的$1"0"
任何值$1``0
我如何正確傳遞超過 9 個參數,或者如果不是 pssobile 傳遞超過 9 個來執行類似的操作
location / { rewrite ^/(.+) /index.php?param1=$1 location ^/.+ { rewrite ^/.+/(.+) /index.php?param2=$1 to $3 -> $4 -> $5 -> $6 -> $7 -> $8 -> $9 -> $10 } }
使用以下內容:
location / { rewrite ^/(?.+)/(.+)/(.+)/(.+)/(.+)/(.+)/(.+)/(.+)/(.+)/(?<param10>.+)$ /index.php?param1=$1¶m2=$2¶m3=$3¶m4=$4¶m5=$5¶m6=$6¶m7=$7¶m8=$8¶m9=$9¶m10=$param10 last;
}
該
?<argname>
符號告訴 nginx 將正則表達式擷取到$argname
變數中。為了保持一致性,您可以對所有變數使用相同的符號。我只替換了參數 10,以便範例更短。