Как разрешить запрос на / папке к отдельному documentroot на Apache 2.4 и передать php двум пулам fpm

У меня есть два вопроса.

(должен был удалить некоторый http:// в моем URL в качестве примера, потому что у меня нет достаточной репутации все же, чтобы иметь гумус затем 1 URL в моем вопросе. таким образом, это говорит//пример.)

Вопрос 1) у меня есть один домен как http://example.com. Это приводит к странице, загруженной из/var/www/example. Теперь я хочу, чтобы все запросы к//example.com/site2 были разрешены к папке,/var/www/site2.

Это - основная идея, и я пытался выполнить это как это (который не работал).

<VirtualHost *:80>
    ServerAdmin webmaster@example.com

    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>

Я пытался использовать директиву Псевдонима и соответствие Местоположения для перезаписи материала к корректному URL при прибытии в/site2 url. Это было моей конференцией В//example.com/site2/, она приведет к index.html от//example.com/. Только при запросе //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>

Вопрос 2), Если бы 1 работа затем я хотел бы иметь весь запрос php, передал своему собственному пулу fpm. Запросы на example.com должны быть переданы fcgi://127.0.0.1:9000, и запрос на//example.com/site2 должен перейти к fcgi://127.0.0.1:9001.

[ОТРЕДАКТИРОВАННЫЙ] (Измененная ссылка для fpm fcgi.) [ОТРЕДАКТИРОВАННЫЙ] (Добавленный conf на основе директивы Псевдонима.)

1
задан 18 July 2017 в 15:34

1 ответ

Согласно "Вопросу 1)":

  • необходимо добавить псевдоним:

    Alias /site2 /var/www/site2
    <Directory /var/www/site2>
        Require all granted
        AllowOverride all
    </Directory>
    
  • DirectoryIndex директива читает операторы как 'абсолютные' имена файлов. Я имею в виду с этим синтаксисом:

    DirectoryIndex /index.html index.html
    

    DirectoryIndex проверит если index.html, расположенный в DocumentRoot=/, существует и отобразит его, если да, и проигнорирует следующие операторы. Таким образом, если эта запись (/index.html) не предназначается, что это неправильно. Некоторые примеры здесь.

0
ответ дан 8 December 2019 в 04:39

Другие вопросы по тегам:

Похожие вопросы: