我正尝试通过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
目前为止,我所能find的就是如何包含一个variables。 我有五个variables要通过,每个都以“/”结尾。
您可以通过$ arg_name变量在nginx中访问脚本参数name
用脚本参数重写URL到一个友好的网址然后变成这样简单的重写:
location /script/script.php { rewrite ^ /script/$arg_title/$arg_desc/$arg_file/$arg_id.html last; }
相反,重写友善的网址到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,…变量