O redirecionamento Nginx das rotas de subdomínio não funciona

1

Este é o meu bloco de servidores no arquivo nginx_conf:

Estou usando o cloud66 para poder editar isso no meu painel.

Isso continua quebrando. Eu suspeito que é por causa dos meus condicionais e se declarações.

Estou tentando redirecionar os seguintes URLs para os seguintes URLs:

link e direcione-o para / dashboard encaminhá-lo para link

link e direcione-o para / dashboard encaminhá-lo para link

link e direcione-o para / dashboard encaminhá-lo para link

server
{
...
    # redirect old routes on subdomain
    server_name ~^www\.(?<domain>.+)$;

    if ($host ~ "^(.*)$domain") {
      set $subd $1;

      if $1 = 'notes.php'{
        rewrite ^(.*) /dashboard permanent;
      }

      if $1 = 'contact-us.php'{
        rewrite ^(.*) /contact-us/new permanent;
      }

      if $1 = 'help.php'{
        rewrite ^(.*) /faq permanent;
      }
    }
}

Eu recebo o seguinte erro quando coloco isso:

+ server
+ {
+ server_name secure.inrtracker.com www.secure.inrtracker.com;
+
+ location = /notes.php {
+ rewrite ^ /dashboard permanent;
+ }
+ }

Ocorreu um erro. Desculpe, a página que você está procurando está indisponível no momento. Por favor, tente novamente mais tarde. Se você for o administrador do sistema desse recurso, verifique o log de erros para obter detalhes. Fielmente seu, nginx.

    
por Pavan Katepalli 09.11.2014 / 22:45

1 resposta

2

Primeiro: Obrigatório Se é mal

Em segundo lugar, você deve separar seu subdomínio e domínio para diferentes blocos de servidores (e / ou arquivos diferentes). Em seguida, crie regras de reescrita

server {
    server_name oursubdomain.domain.com www.oursubdomain.domain.com;

    location / {
         rewrite ^/notes.php$ $scheme://domain.com/dashboard permanent;
         rewrite ^/contact-us.php$ $scheme://domain.com/contact-us/new permanent;
         rewrite ^/help.php$ $scheme://domain.com/faq permanent;
    }
}

server {
    server_name domain.com www.domain.com;
    location = /dashboard {
        # Do something here, possibly send to php
    }
    location = /faq {
        # Do something here, possibly send to php
    }
    location = /contact-us/new {
        # Do something here, possibly send to php
    }
}

Espero que ajude você no seu caminho!

    
por 10.11.2014 / 00:27