假设您有一个URL www.answers.mydomain.com/category/hello_world-123.html但是您想将路径部分重写为/ category / hello-world
你如何通过nginx重写来解决这个问题?基本上我怎样才能格式化$ 1变量?
server{
listen 80;
server_name ~^(?<subdomain>.+)\.bg\.com$
root /home/dan/Projects/rewrite-example;
set $PREFERRED_DOMAIN $scheme://www.bg.com;
if ($subdomain ~* answers) {
rewrite ^(.*)$ $PREFERRED_DOMAIN/questions$1 permanent;
}
}
答案 0 :(得分:2)
server{
listen 80;
server_name answers.bg.com;
rewrite ^(.+/[a-z]+)-\d+\.html$ http://www.bg.com$1 permanent;
rewrite ^(.+/[a-z]+)_([a-z]+)-\d+\.html$ http://www.bg.com$1-$2 permanent;
rewrite ^(.+/[a-z]+)_([a-z]+)_([a-z]+)-\d+\.html$
http://www.bg.com$1-$2-$3 permanent;
rewrite ^(.+/[a-z]+)_([a-z]+)_([a-z]+)_([a-z]+)-\d+\.html$
http://www.bg.com$1-$2-$3-$4 permanent;
rewrite ^(.+/[a-z]+)_([a-z]+)_([a-z]+)_([a-z]+)_([a-z]+)-\d+\.html$
http://www.bg.com$1-$2-$3-$4-$5 permanent;
}