重写 nginx 的规则?
Rewrite rule for nginx?
我正在尝试使用 nginx 部署 trac。除了提供静态文件的重写规则外,我几乎所有的东西都在工作。我需要重写这个 url:
http://trac.domain.tldn/chrome/common/feed.png
给这个:
http://trac.domain.tldn/static/htdocs/common/feed.png
我有这段代码,但它不起作用:
location ~ /(.*?)/chrome/common/ {
rewrite /(.*?)/chrome/common/(.*) //static/htdocs/common/ break;
root /var/www/domain.tldn/static/trac/static/htdocs/common;
}
你能帮我解决这个问题吗?
您可以使用以下代码完成:
location /chrome/common {
rewrite ^/chrome/common/(.*) /static/htdocs/common/ permanent;
}
或者只为您的文件路径使用别名:
location /chrome/common {
alias /var/www/domain.tldn/static/trac/static/htdocs/common;
}
我正在尝试使用 nginx 部署 trac。除了提供静态文件的重写规则外,我几乎所有的东西都在工作。我需要重写这个 url:
http://trac.domain.tldn/chrome/common/feed.png
给这个:
http://trac.domain.tldn/static/htdocs/common/feed.png
我有这段代码,但它不起作用:
location ~ /(.*?)/chrome/common/ {
rewrite /(.*?)/chrome/common/(.*) //static/htdocs/common/ break;
root /var/www/domain.tldn/static/trac/static/htdocs/common;
}
你能帮我解决这个问题吗?
您可以使用以下代码完成:
location /chrome/common {
rewrite ^/chrome/common/(.*) /static/htdocs/common/ permanent;
}
或者只为您的文件路径使用别名:
location /chrome/common {
alias /var/www/domain.tldn/static/trac/static/htdocs/common;
}