Redirect 如何在nginx中配置两个VirtualHost以使其正常工作

Redirect 如何在nginx中配置两个VirtualHost以使其正常工作,redirect,nginx,Redirect,Nginx,我有两个要求: .mydomain.com需要重定向到https=>https://*.mydomain.com foo.mydomain.com需要单独工作 所以我有一个子域不应该重定向 这就是我尝试过但没有成功的方法,我读到使用if子句现在是不被建议的,所以我试图理解如何不用它,谢谢你的提示 http { # other stuff server { listen 80; return 301 https://*.mydomain.com;

我有两个要求:

  • .mydomain.com需要重定向到https=>https://*.mydomain.com
  • foo.mydomain.com需要单独工作
  • 所以我有一个子域不应该重定向

    这就是我尝试过但没有成功的方法,我读到使用if子句现在是不被建议的,所以我试图理解如何不用它,谢谢你的提示

    http {
        # other stuff
    
        server {
            listen 80;
            return 301 https://*.mydomain.com;
            server_name *.mydomain.com
        }
        server {
            listen 80;
            server_name foo.mydomain.com
        }
    }
    

    Nginx仍然建议仅在重写时使用IF:

    以下是他们想要做的:

    完全禁用内部的非重写指令

    只有当你处于“如果是邪恶”的位置时——这是完整的阅读,以及为什么他们想在其他地方禁用它的操作(除了你使用它的地方)


    去做吧,省得你自己头疼:)

    Nginx仍然建议只在重写时使用IF:

    以下是他们想要做的:

    完全禁用内部的非重写指令

    只有当你处于“如果是邪恶”的位置时——这是完整的阅读,以及为什么他们想在其他地方禁用它的操作(除了你使用它的地方)


    去做吧,省得你自己头疼:)

    我不知道“*”行得通,当你重定向到https://*.mydomain.com时,你期望会发生什么?他期待着一个通配符子域SSL重定向-我不知道这部分自己是否行得通我不知道“*”行得通,当您重定向到https://*.mydomain.com时,您预计会发生什么?他预计会发生通配符子域SSL重定向-我也不知道这部分是否可以工作