Nginx rewrite

1, 标签列表页
原地址: search.php?keywords=音乐手机(即search.php?keywords=标签名)
重写后的地址:tag-音乐手机.html (即tag-标签名.html)
这个音乐手机是中文,是否可以用w来匹配呢?(我开始的想法也是用w来匹配,但实际上不可以,w表示英文字母、数字或下划线,所以这个标签名只能通过.来匹配),因此:
最后的重写规则为:

rewrite ^(.*)/tag-(.*).html  $1/search.php?keywords=$2
  • 第一个括号中(.*)代表/tag前的部分,可能是域名,也可能是域名+目录
  • 第二个括号中(.*)代表标签名
    注:$1和$2是反向引用,$1表示第一个括号匹配的内容,$2表示第二个括号匹配的内容

2,添加重写规则

location / {
    index  index.html index.htm index.php;
    #autoindex  on;
    if (!-e $request_filename) {
        rewrite ^/(.*)$ /index.php/$1;
    }
}

你可能感兴趣的:(Nginx rewrite)