Nginx URL書き換えルールの正規表現を微調整するのに問題があります。私がやろうとしているのは、URLの最初の2つの部分を取り、それらを変数に変換することです(派手すぎず、単純にする必要があります)。
たとえば、http://www.webserver.com/piece1/piece2と入力すると、 http ://www.webserver.com/rewtest.php??val1=piece1&val2=piece2が取得されます。
これまでのところ、私は持っています:
location / {
rewrite ^/(.*)/(.*)/? /rewtest.php?val1=$1&val2=$2 last;
return 404;}
}
これはうまくいくようです。問題は、ユーザーがhttp://www.webserver.com/piece1/piece2/ と入力すると、val 1 が piece1/piece2 として (2 ではなく 1 つの変数として) 与えられることです。
また、ユーザーがhttp://www.webserver.com/piece1/と入力すると、現在 var 1 で piece1 が取得されます。これは素晴らしいことです。しかし、ユーザーがhttp://www.webserver.com/piece1と入力するとエラーが発生し、同じものを取得したいと思います (var 1=piece1)。
私は正規表現が初めてなので、どんな助けも大歓迎です!