Estou tentando configurar o nginx de uma maneira que signifique menos mexer no futuro.
Eu não quero ter que criar um arquivo de configuração para cada domínio e subdomínio, eu quero um único arquivo de configuração que possa lidar com todos (ou dois se o subdomínio precisar de separação do domínio principal).
Por exemplo, digamos que esses domínios estejam em uso:
- example.com
- / var / www / example / public
- www.example.com
- / var / www / example / public
- test.example.com
- / var / www / example / subdomínios / test / public
- abc.example.com
- / var / www / exemplo / subdomínios / abc / public
- myothersite.com
- / var / www / myothersite / public
É claro que www e não www não devem coexistir - portanto, um deve redirecionar para o outro. Vamos imaginar que não estou redirecionando de um para outro nesse caso, eles devem usar o mesmo diretório.
Os pontos acima ilustram o tipo de estrutura de diretórios que estou tentando alcançar, mas todas as minhas tentativas falharam até agora.
server {
listen 80 default_server;
server_name ~^(www\.)?(?<domain>.+)$;
# Location of each domain
location / {
root /var/www/$domain/public;
index index.php index.html index.htm;
}
# ... some other config stuffs
}
Eu, então, tentei configurar um arquivo de configuração de subdomínio, no entanto este sempre parece ter a presidência (e também significava que eu tinha que nomear as pastas do meu site como "example.com" ou "example.co.uk") .
Quando fui a um endereço como "test.example.com", ele apareceria nos registros de erro como se tentasse acessar /var/www/test.example.com/public
.
Alguma ideia? É muito apreciado!
Estou no CentOS 6.4 e no nginx 1.0.15.