J'ai deux questions.
(il a fallu supprimer un peu http: // dans mon exemple d'URL car je n'ai pas encore assez de réputation pour avoir encore plus d'URL dans ma question. il est donc dit //example.)
Question 1) J'ai un domaine comme http://example.com . Cela se traduit par une page chargée à partir de/var/www/exemple. Maintenant, je veux que toutes les demandes de //example.com/site2 soient résolues dans le dossier/var/www/site2.
C’est l’idée de base et j’ai essayé de le faire comme ceci (ce qui n’a pas fonctionné).
<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>
J'ai essayé d'utiliser la directive Alias et la correspondance Emplacement pour réécrire les éléments dans l'URL correcte en arrivant à l'URL/site2. C'était ma conf. Sur //example.com/site2/, il en résulterait l'index.html de //example.com/. Uniquement lors de la demande //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>
Question 2) Si 1 fonctionne, alors j'aimerais que toutes les requêtes php soient transmises à son propre pool fpm. Les requêtes pour example.com doivent être passées à fcgi: //127.0.0.1: 9000 et la requête pour //example.com/site2 doit être adressée à fcgi: //127.0.0.1: 9001.
[EDITED] (Référence modifiée pour fpm fcgi.) [EDITED] (Ajout de la configuration basée sur la directive Alias.)
Selon "Question 1)":
vous devriez ajouter un alias:
Alias /site2 /var/www/site2
<Directory /var/www/site2>
Require all granted
AllowOverride all
</Directory>
La directive DirectoryIndex
lit les instructions en tant que noms de fichiers 'absolus'. Je veux dire avec cette syntaxe:
DirectoryIndex /index.html index.html
DirectoryIndex
vérifiera si index.html
, situé dans DocumentRoot
= /
, existe et l'affichera si oui, et ignorera les instructions suivantes. Donc, si cet enregistrement (/index.html
) n'est pas destiné, il est erroné. Quelques exemples ici .