
我無法設定從 *.domain.tld/personal 到 domain.tld/personal 的重定向
server {
server_name domain.tld www.domain.tld *.domain.tld;
listen 100.10.10.1;
set $root_path /var/www/user1536/data/www/new.domain.tld;
location ~* ^.+\.(jpg|jpeg|gif|png|svg|js|css|mp3|ogg|mpe?g|avi|zip|gz|bz2?|rar|swf)$ {
root $root_path;
access_log /var/www/nginx-logs/user1536 isp;
access_log /var/www/httpd-logs/domain.tld.access.log ;
error_page 404 = @fallback;
}
location /personal {
if ($http_host != domain.tld) { rewrite ^ http://domain.tld/personal; }
}
location / {
proxy_pass http://100.10.10.1:81;
proxy_redirect http://100.10.10.1:81/ /;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
}
location ~* ^/(webstat|awstats|webmail|myadmin|pgadmin)/ {
proxy_pass http://100.10.10.1:81;
proxy_redirect http://100.10.10.1:81/ /;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
}
location @fallback {
proxy_pass http://100.10.10.1:81;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
}
location ^~ /webstat/ {
auth_basic "Restricted area";
auth_basic_user_file /var/www/user1536/data/etc/42338471.passwd;
try_files $uri @fallback;
}
include /usr/local/ispmgr/etc/nginx.inc;
}
答案1
您應該使用另一個伺服器區塊進行重定向。
server {
server_name *.domain.tld;
listen 100.10.10.1;
location /personal {
rewrite ^ http://domain.tld/personal permanent;
}
}
然後您應該location
從另一個server
區塊中刪除該區塊,並*.domain.tld
從server_name
指令中刪除。