Configuração vache do Apache para suporte a subdomínio curinga

1

Estou tendo dificuldade em executar meu aplicativo (construído no laravel 5.4) em um subdomínio curinga que eu configurei em minha máquina local (executando o Apache 2.4.18 no Linux Mint 18.1)

Então, eu configurei um vhost (domain.app) e um subdomínio (sub.domain.app) para ele e meu arquivo vache do apache se parece com o seguinte:

# This is for the primary domain (domain.app)
<VirtualHost *:80>
        ServerName  domain.app

        ServerAlias www.domain.app


        ServerAdmin webmaster@localhost
        DocumentRoot /var/www/html/test/domain.app/public

        <Directory /var/www/html/test/domain.app/public>
            Options Indexes FollowSymLinks
            AllowOverride All
            Require all granted
        </Directory>

        <IfModule mod_dir.c>
            DirectoryIndex index.php index.pl index.cgi index.html index.xhtml index.htm
        </IfModule>

</VirtualHost>

# This is for the subdomain (sub.domain.app)
<VirtualHost *:80>
                ServerName domain.app
                VirtualDocumentRoot /var/www/html/test/%0/public
                ServerAlias *.domain.app
                <Directory /var/www/html/test/sub.domain.app/public>
                        <IfModule mod_rewrite.c>
                                Options -MultiViews
                                RewriteEngine On
                                RewriteCond %{REQUEST_FILENAME} !-f
                                RewriteRule ^ index.php [L]
                        </IfModule>
                </Directory>
</VirtualHost>

Isso funciona bem para todos os seguintes URLs:

Mas desde então, eu quero um subdomínio curinga, o que significa que eu não quero codificar sub.domain.app no vhost, mas quero algo como anything.domain.app, então eu tentei substituir

<Directory /var/www/html/test/sub.domain.app/public>

com

<Directory /var/www/html/test/%0/public>

Eu obtenho os seguintes resultados:

  • link (funciona)
  • link (funciona)
  • link (funciona)
  • link (404 Not found, O URL / login solicitado não foi encontrado neste servidor.)

Por favor alguém pode me ajudar?

Obrigado antecipadamente

    
por Phantom007 05.03.2017 / 09:29

2 respostas

1

Respondendo minha própria pergunta.

Eu finalmente descobri a solução. Eu estou usando a seguinte configuração vhost para o subdomínio curinga e seu funcionamento como um encanto.

UseCanonicalName Off    
<VirtualHost *:80>
    ServerAdmin [email protected]
    ServerAlias *.domain.app
    VirtualDocumentRoot /var/www/html/test/%0/public
    DirectoryIndex  index.php index.htm index.html

    <Directory /var/www/html/test/*.domain.app/public/>
        AllowOverride   All
    </Directory>

    LogFormat "%V %h %l %u %t \"%r\" %s %b" vcommon
    CustomLog /var/log/apache2/vhosts-access.log vcommon
    ErrorLog /var/log/apache2/vhosts-error.log
</VirtualHost>

Espero que isso seja útil para qualquer pessoa que enfrente um problema semelhante.

    
por 10.03.2017 / 16:14
0

Isso é um palpite, mas acho que você precisa substituir o caminho também na diretiva <Directory /var/www/html/test/sub.domain.app/public> .

    
por 05.03.2017 / 19:03

Tags