Como resolver um pedido em / folder para um documentroot separado no Apache 2.4 e passar o php para dois fpm pools

1

Eu tenho duas perguntas.

(tive que remover alguns http: // no meu url de exemplo porque eu não tenho reputação suficiente ainda para ter mor então 1 url na minha pergunta. então ele diz // example.)

Pergunta 1) Tenho um domínio como o link . Isso resulta em uma página carregada de / var / www / example. Agora quero que todas as solicitações para //example.com/site2 sejam resolvidas para a pasta / var / www / site2.

Esta é a ideia básica e eu tentei realizar isso assim (o que não funcionou).

<VirtualHost *:80>
    ServerAdmin [email protected]

    DocumentRoot /var/www/example

    DirectoryIndex /index.html index.html

    #<LocationMatch "^/site2.*">
    #    RewriteEngine on
    #    RewriteRule . /example2/index.html [L]
    #</LocationMatch>

    AliasMatch "/site2(.*)" "/var/www/site2$1"
    <Directory /var/www/site2>
        Require all granted
        AllowOverride all
    </Directory>


    # Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
    # error, crit, alert, emerg.
    # It is also possible to configure the loglevel for particular
    # modules, e.g.
    #LogLevel info ssl:warn

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined

    # For most configuration files from conf-available/, which are
    # enabled or disabled at a global level, it is possible to
    # include a line for only one particular virtual host. For example the
    # following line enables the CGI configuration for this host only
    # after it has been globally disabled with "a2disconf".
    #Include conf-available/serve-cgi-bin.conf
</VirtualHost>

Eu tentei usar a diretiva Alias e a correspondência de local para reescrever o material no URL correto ao chegar na URL / site2. Este foi meu conf. Em //example.com/site2/, isso resultaria no index.html de //example.com/. Somente ao solicitar //example.com/site2/index.html.

<VirtualHost *:80>
    DocumentRoot /var/www/example

    DirectoryIndex /index.html index.html

    Alias "/site2" "/var/www/site2"
    <Directory /var/www/site2>
        Require all granted
        AllowOverride all
    </Directory>
</VirtualHost>

Pergunta 2) Se 1 funcionar, gostaria de ter todas as solicitações php passadas para o seu próprio conjunto de fpm. As solicitações para example.com devem ser passadas para fcgi: //127.0.0.1: 9000 e a solicitação para //example.com/site2 deve ir para fcgi: //127.0.0.1: 9001.

[EDITADO] (Referência alterada para fpm fcgi.) [EDITADO] (Conf adicionado com base na diretiva Alias.)

    
por matglas86 18.07.2017 / 12:59

1 resposta

0

De acordo com a "Questão 1" ":

  • você deve adicionar um alias:

    Alias /site2 /var/www/site2
    <Directory /var/www/site2>
        Require all granted
        AllowOverride all
    </Directory>
    
  • A diretiva DirectoryIndex lê as instruções como nomes de arquivos 'absolutos'. Quero dizer com esta sintaxe:

    DirectoryIndex /index.html index.html
    

    DirectoryIndex verificará se index.html , localizado em DocumentRoot = / , existe e exibirá se sim, e ignora as próximas declarações. Então, se este registro ( /index.html ) não for intencional, está errado. Alguns exemplos de aqui .

por pa4080 18.07.2017 / 13:58