【问题标题】:"rewrite" structure for subdomain on NginxNginx 上子域的“重写”结构
【发布时间】:2022-01-25 10:02:06
【问题描述】:

我想为 ISPconfig 上的子域自定义 rewrite。当我为此添加下面的代码时,子域被重定向到主域。

示例 #1:

server {
  ...
     if ($http_host = "panel.example.com") {
         rewrite ^(?!/(_SubDomains/Panel|stats|\.well-known/acme-challenge))/(.*)$ /_SubDomains/Panel/$2 last;
         rewrite ^/(.*)/(.*)$ /index.php?cmd=$1&scd=$2? last;
      }
  ...
 }

如果我按照示例二那样做,Nginx 服务器将无法工作。

示例 #2:

server {
...
     if ($http_host = "panel.example.com") {
         rewrite ^(?!/(_SubDomains/Panel|stats|\.well-known/acme-challenge))/(.*)$ /_SubDomains/Panel/$2 last;
         location ~ \.php$ {
                 rewrite ^/(.*)/(.*)$ /index.php?cmd=$1&scd=$2? last;
         }
     }
...
}

如何进行子域特定的重写?

【问题讨论】:

    标签: nginx mod-rewrite subdomain ispconfig


    【解决方案1】:

    您应该为不同的子域创建单独的服务器块:

    server {
    ...
       server_name foo.example.com;
    ...
    }
    
    server {
    ...
       server_name bar.example.com;
    ...
    }
    

    【讨论】:

    猜你喜欢
    • 2011-01-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-04
    • 1970-01-01
    • 1970-01-01
    • 2011-01-16
    相关资源
    最近更新 更多