Conf Apache virtual et sous-rep

Bonjour,

j’ai cherché dans les messages passé mais je n’ai pas trouvé ce que je voulais.

J’ai un serveur sur lequel je veux pouvoir servir des sites par virtuals host et par sous-repertoire.
Un seul virtual host héberge les sous-rep, les autres virtualhost ne doivent pas servri les sous-reperoire de l’autre.
i.e.:
URL OK:

host.domain.tld/site1
host.domain.tld/site2
host.domain.tld/site3
service1.domain.tld
service2.domain.tld

URL pas OK

service1.domain.tld/site1
service1.domain.tld/site2
service1.domain.tld/site3
service1.domain.tld/site1
service2.domain.tld/site2
service3.domain.tld/site3

Les configurations type service1.domain.tld fonctionnent et se trouvent dans sites-availables en virtual host
les configuration type host.domain.tld/site1 fonctionnent et se trouvent dnas conf-availables en Alias

mais j’arrive à avoir service1.domain.tld/site1, et je ne veux pas. mais je n’ai pas trouvé ce que je dois faire.

dois-je faire un virtualhost avec host.domain.tld dans lequel ensuite j’inclue la configuration des /sites ?

finalement, en exposant ma question j’ai trouvé la réponse.
ne me reste plus que la gestiond es log qui n’est pas bonne.

je veux avoir pour chaque /site ou chaque virtualhost service1.domain.tld un log spécifique du type access-site.log ou access-virtualhost.log, mais ça ne marche pas.
je me retrouve avec les logs de /site partout.

pour définir un fichier de log en fonction de l’URi il suffit d’utiliser la directive SetEnvIf

de fait pour avoir un fichier de log différent pour chaque sous-répertoire de site il suffit de faire dans le virtualhost qui gère host.domain.tld:

    SetEnvIf Request_URI site1 sub_site1
    SetEnvIf Request_URI site1 sub_site2
    SetEnvIf Request_URI site1 sub_site3

     CustomLog ${APACHE_LOG_DIR}/access-site1.log combined env=sub_site1
     CustomLog ${APACHE_LOG_DIR}/access-site2.log combined env=sub_site2
     CustomLog ${APACHE_LOG_DIR}/access-site3.log combined env=sub_site3

il est aussi possible de faire :

    SetEnvIf Referer service1\.domain\.tld sub_service1
    CustomLog ${APACHE_LOG_DIR}/access-service1.log combined env=sub_service1

m’étonnerais que ça fonctionne. Relis-toi :stuck_out_tongue:

oui le ref au lieu de sub :wink:

mais ce n’est pas un copier coller de ma config :), celle-ci marche finalement :slight_smile: