2

Nginx経由で次のURLを書き換えようとしています:

http://www.domain.com/script.php?title=LONGSTRING&desc=LONGSTRING&file=LONGSTRING&id=THREELETTERS

このようなものに:

http://www.domain.com/script/LONGSTRING/LONGSTRING/LONGSTRING/LONGSTRING/THREELETTERS.html

これまでに見つけたのは、単一の変数を含める方法だけです。通過する 5 つの変数があり、それぞれが「/」で終了します。

4

1 に答える 1

5

$arg_name変数nameを介してnginxのスクリプトパラメーターにアクセスできます

スクリプトパラメータを使用してURLをseoに適したURLに書き換えると、次のような単純な書き換えになります。

location /script/script.php {
  rewrite ^ /script/$arg_title/$arg_desc/$arg_file/$arg_id.html last;
}

逆に、seoに適したURLをphpスクリプトバージョンに書き換えると、次のようになります。

location /script/ {
  rewrite "^/script/([a-zA-Z]+)/([a-zA-Z]+)/([a-zA-Z]+)/([a-zA-Z]{3})$" 
          /script.php?title=$1&desc=$2&file=$3&id=$4 last;
}

基本的に、正規表現のキャプチャがあり(各丸括弧のペアはキャプチャです)、$ 1、$ 2、...変数で参照できます。

于 2012-10-22T20:45:25.193 に答える