Apache : créer alias.monsite
Résolu
bruno
-
bruno -
bruno -
Bonjour,
(tout ceci est en intranet, dans ma résidence étudiante)
J'héberge actuellement avec Apache un site, accessible depuis http://monsite.
Cependant, j'ai plusieurs projets distincts, tous dans le même dossier (nommé Web). Ils sont dans différents dossiers (disons, de "a" à "h").
Actuellement, j'ai mis comme DocumentRoot le a : c'est celui sur lequel on arrive quand on tape http://monsite
J'aimerais cependant qu'il en aille différemment :
Quand on tape http://monsite, on est redirigé vers http://a.monsite, qui correpond au dossier /Web/a/
Et quand on tape http://lettre.monsite, on est arrive sur le dossier /web/lettre. Pour lettre dans {b...h}.
Bien sûr, ces dossiers ne sont pas appelés de a à h mais ont des noms plus précis, et je mettrais dans httpd.conf le texte nécessaire pour chaque. Cependant, je ne sais pas quel texte mettre...
Voilà, pourriez-vous m'aider ? J'ai cherché du côté des VirtualHost, mais ce n'est pas vraiment ça...
En espérant avoir été clair, et dans l'attente d'une réponse,
Merci d'avance
(tout ceci est en intranet, dans ma résidence étudiante)
J'héberge actuellement avec Apache un site, accessible depuis http://monsite.
Cependant, j'ai plusieurs projets distincts, tous dans le même dossier (nommé Web). Ils sont dans différents dossiers (disons, de "a" à "h").
Actuellement, j'ai mis comme DocumentRoot le a : c'est celui sur lequel on arrive quand on tape http://monsite
J'aimerais cependant qu'il en aille différemment :
Quand on tape http://monsite, on est redirigé vers http://a.monsite, qui correpond au dossier /Web/a/
Et quand on tape http://lettre.monsite, on est arrive sur le dossier /web/lettre. Pour lettre dans {b...h}.
Bien sûr, ces dossiers ne sont pas appelés de a à h mais ont des noms plus précis, et je mettrais dans httpd.conf le texte nécessaire pour chaque. Cependant, je ne sais pas quel texte mettre...
Voilà, pourriez-vous m'aider ? J'ai cherché du côté des VirtualHost, mais ce n'est pas vraiment ça...
En espérant avoir été clair, et dans l'attente d'une réponse,
Merci d'avance
A voir également:
- Apache : créer alias.monsite
- Apache open office gratuit - Télécharger - Suite bureautique
- Apache laragon - Télécharger - Divers Web & Internet
- Ftp apache ✓ - Forum Webmastering
- Apache curl - Forum Linux / Unix
- Redemarrer apache ✓ - Forum Linux / Unix
9 réponses
Les VirtualHost sont bien ce qu'il te faut.
<VirtualHost *:80> ServerAdmin webmaster@example.com DocumentRoot /www/ ServerName example.com </VirtualHost> <VirtualHost *:80> ServerAdmin webmaster@a.example.com DocumentRoot /www/a/ ServerName a.example.com </VirtualHost> ...
Merci beaucoup !
J'ai donc décalé le DocumentRoot (à /Web au lieu de /Web/a), enlevé également le /a dans le <Directory>, qui gère les permissions, et rajouté des paragraphes de la forme :
(il y a deux adresses par lesquelles on peut accéder à mon ordi)
Cependant, est-il possible de faire en sorte que ça marche même en local (je ne suis pas actuellement à ma rez...) ? j'ai essayé avec ServerName localhost
pour le répertoire de base (a)
et ServerName lettre.localhost
pour les autres (b à h)
Résultat : localhost me renvoie un superbe Forbidden (...You don't have permission to access / on this server.), et lettre.localhost ne marche pas !
Merci - encore une fois - beaucoup
J'ai donc décalé le DocumentRoot (à /Web au lieu de /Web/a), enlevé également le /a dans le <Directory>, qui gère les permissions, et rajouté des paragraphes de la forme :
<VirtualHost *:80> ServerAdmin mon@dres.se DocumentRoot /lettre ServerName lettre.monnom ServerName lettre.monnom2 </VirtualHost>
(il y a deux adresses par lesquelles on peut accéder à mon ordi)
Cependant, est-il possible de faire en sorte que ça marche même en local (je ne suis pas actuellement à ma rez...) ? j'ai essayé avec ServerName localhost
pour le répertoire de base (a)
et ServerName lettre.localhost
pour les autres (b à h)
Résultat : localhost me renvoie un superbe Forbidden (...You don't have permission to access / on this server.), et lettre.localhost ne marche pas !
Merci - encore une fois - beaucoup
Well, je crois avoir avancé : d'après ce que j'ai lu, il faut modifier C:\Windows\System32\drivers\etc\host : j'ai rajouté à la fin
Ce qui ne supprime cependant par le Forbidden !
J'ai pourtant bien rajouté les
ServerName lettre.localhost
dans chaque VirtualHost !
Merci d'avance...
127.0.0.1 a.localhost 127.0.0.1 b.localhost ... 127.0.0.1 h.localhost
Ce qui ne supprime cependant par le Forbidden !
J'ai pourtant bien rajouté les
ServerName lettre.localhost
dans chaque VirtualHost !
Merci d'avance...
J'ai pas trouvé comment éditer mon message, donc je me réponds encore à moi même... (no comment)
En mettant, dans chaque <VirtualHost>, le DocumentRoot en absolu (et pas en relatif), ça marche ! Enfin...
Que je tape localhost, a.localhost, b.locahost, ... ou h.localhost, je retombe sur /Web/a. Autrement dit, il faut sûrement modifier le fichier host de Windows de manière plus fine que ce que j'ai fait... Et je cherche, mais sans trouver... avion-f16, vole à mon secours !
En mettant, dans chaque <VirtualHost>, le DocumentRoot en absolu (et pas en relatif), ça marche ! Enfin...
Que je tape localhost, a.localhost, b.locahost, ... ou h.localhost, je retombe sur /Web/a. Autrement dit, il faut sûrement modifier le fichier host de Windows de manière plus fine que ce que j'ai fait... Et je cherche, mais sans trouver... avion-f16, vole à mon secours !
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Il faut que tu crées un VirtualHost par sous-domaine !
Et chaque sous-domaine et à mettre dans le fichier hosts de Windows.
Et chaque sous-domaine et à mettre dans le fichier hosts de Windows.
Mais... n'est-ce pas ce que j'ai déjà fait ? Dans httpd.conf, j'ai quelque chose de la forme :
et dans le fichier hosts, comme je l'ai écrit, j'ai bien 8 lignes... (de a à h) !
Ou bien - très possible - je n'ai pas compris ton dernier message ? Comment différencier les différents sous-domaines une fois qu'ils sont envoyés sur localhost.... ?
Une solution pourrait être de les rediriger vers différents ports, mais ça me paraît plutôt moche...
Merci d'avance
<VirtualHost *:80> ServerAdmin ... DocumentRoot "F:\...\Web\a" ServerName localhost </VirtualHost> <VirtualHost *:80> ServerAdmin ... DocumentRoot "F:\...\Web\b" ServerName b.localhost </VirtualHost> <VirtualHost *:80> ServerAdmin ... DocumentRoot "F:\...\Web\c" ServerName c.localhost </VirtualHost> ... <VirtualHost *:80> ServerAdmin ... DocumentRoot "F:\...\Web\h" ServerName h.localhost </VirtualHost>
et dans le fichier hosts, comme je l'ai écrit, j'ai bien 8 lignes... (de a à h) !
Ou bien - très possible - je n'ai pas compris ton dernier message ? Comment différencier les différents sous-domaines une fois qu'ils sont envoyés sur localhost.... ?
Une solution pourrait être de les rediriger vers différents ports, mais ça me paraît plutôt moche...
Merci d'avance
Non non ! Je n'ai plus le problème du Forbidden ! cf. message 4 : mettre le DocumentRoot de chaque <VirtualHost> en absolu a réglé cela ! Le truc qui ne va pas, c'est que... a.localhost, b.localhost, ... h.localhost affichent la même chose que localhost (et que ce dernier seulement devrait afficher), à savoir /web/a.
Autrement dit, lors du passage par le fichier hosts, hop ! a.localhost comme h.localhost partent vers 127.0.0.1. Et l'info du a. (ou h., etc.) est perdue, en quelque sorte : Ca affiche bêtement 127.0.0.1.
Autrement dit, lors du passage par le fichier hosts, hop ! a.localhost comme h.localhost partent vers 127.0.0.1. Et l'info du a. (ou h., etc.) est perdue, en quelque sorte : Ca affiche bêtement 127.0.0.1.