0 votes

Répertoire virtuel Apache sans redirection

Ce que j'essaie d'accomplir est d'extraire du contenu d'un répertoire qui n'est pas le même que le chemin d'accès de l'url. Par exemple :

  • URL : example.com/
  • chemin d'accès : /www/production/

Actuellement, l'url de base extrait du contenu du chemin ci-dessus. Ce que je veux faire est quelque chose comme ceci :

  • URL : example.com/
  • chemin d'accès : /www/production/root/

Ainsi, l'url de base "example.com" devrait extraire des données non pas de /www/production/ mais de /www/production/root/.

Je pense que cela s'appelle un répertoire virtuel dans IIS. Y a-t-il quelque chose de similaire dans Apache ?

Édition pour clarification :

J'ai une tonne de contenu existant que je ne veux pas avoir à restructurer pour l'instant. Cependant, le site de base est complètement reconstruit et va être beaucoup plus important. Ce que je veux, c'est que chaque microsite ait son propre répertoire, de sorte que les demandes pour example.com/ devraient extraire du contenu de /www/production/root/ tandis que les demandes pour example.com/microsite/ devraient toujours extraire du contenu de /www/production/microsite/.

En espérant que cela soit plus clair. :)

1voto

swestrup Points 2120

Il n'est pas tout à fait clair quel est votre problème. Si vous voulez simplement que toutes les URL soient prises relativement à un emplacement sur le serveur, vous pouvez utiliser la directive DocumentRoot:

DocumentRoot /www/production/root/

Si vous voulez que seuls certains URLs se dirigent vers le nouvel emplacement, vous pouvez utiliser les directives Alias ou AliasMatch du module mod_alias. Celles-ci peuvent mapper des préfixes sur une URL ou des Regex d'URL vers d'autres emplacements sur le serveur. Si cela ne suffit pas, vous pouvez utiliser mod_rewrite qui permet des chaînes arbitraires de réécriture d'URL, mais peut devenir très complexe à entretenir, donc il est préférable d'éviter ce module si possible.

http://httpd.apache.org/docs/2.0/mod/mod_alias.html

0voto

RTBarnard Points 2451

Si je comprends bien votre question, alors ce qui suit, dans votre configuration VirtualHost, fait ce que vous demandez:

ServerName example.com
DocumentRoot /www/production/root/

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X