我已将我的网站移动到从apache运行nginx的新服务器。
旧网站结构是:
example.com/NEW /
新结构:
example.com /
我有一些应用程序仍然引用上传/文件,如:
example.com/NEW/assets/images/7871862618261826.jpg
我需要重写包含/ NEW /参数的所有请求。
例如:
example.com/NEW/assets/images/7871862618261826.jpg
应该路由到:
example.com/assets/images/7871862618261826.jpg
My Current Nginx配置如下:
server {
listen 80;
server_name www.domain.com domain.com;
return 301 https://www.domain.com$request_uri;
}
服务器{
listen 443;
if ($http_host = domain.com) {
rewrite (.*) https://www.domain.com$1;
}
location /NEW/ {
rewrite ^/NEW(.*)$ $1 last;
#return 405;
#return 301 https://www.domain.com$request_uri;
}
server_name domain.com www.domain.com;
access_log /var/log/nginx/domaincom.access.log;
error_log /var/log/nginx/domaincom.error.log;
root /var/www/domain.com/public_html/;
index index.html index.htm index.php;
#set default location
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Host $host;
proxy_pass http://127.0.0.1:8080;
}
}
如何实现重写?
答案 0 :(得分:0)
我终于使用了以下位置块:
location ~ /NEW/.*\.(png|jpg|gif|pdf|doc)$ {
rewrite ^/NEW(.*)$ $1 last;
}
似乎没有按要求执行位置块。