2010-02-18 4 views
0

Ce que j'essaye d'accomplir tire le contenu d'un répertoire qui n'est pas le même que le chemin d'URL. Par exemple:Répertoire virtuel Apache sans redirection

  • URL: example.com/
  • chemin
  • :/www/production/

Actuellement, l'URL racine tire le contenu du chemin ci-dessus. Ce que je veux faire quelque chose comme ceci:

  • URL: example.com/
  • chemin
  • :/www/production/root/

Ainsi, l'URL de base "example.com" devrait tirez les données non de/www/production/mais de/www/production/root /. Je pense que cela s'appelle un répertoire virtuel dans les services Internet (IIS). Y a-t-il quelque chose comme ça dans Apache?

Modifier des éclaircissements:

J'ai une tonne de contenu existant que je ne veux pas avoir à restructurer encore. Cependant, le site racine est en train d'être complètement reconstruit et va être un peu plus grand. Ce que je veux, c'est que chaque microsite ait son propre répertoire, de sorte que les requêtes pour example.com/ tirent le contenu de/www/production/root/alors que les requêtes pour example.com/microsite/ devraient toujours extraire le contenu de/www/production/microsite /.

J'espère que cela a plus de sens. :)

Répondre

1

Son qui ne sait pas exactement votre problème. Si vous voulez juste toutes les URL à prendre par rapport à un emplacement sur le serveur, vous pouvez utiliser la directive DocumentRoot:

DocumentRoot /www/production/root/

Si vous voulez seulement avoir certaines urls aller au nouvel endroit, vous pouvez utilisez les directives Alias ou AliasMatch du module mod_alias. Ceux-ci peuvent mapper des préfixes sur une URL, ou des expressions rationnelles d'url vers d'autres emplacements de serveur. Si même cela ne suffit pas, vous pouvez utiliser mod_rewrite qui permet des chaînes arbitraires de réécriture d'url, mais qui peut être très difficile à maintenir, donc vous feriez mieux d'éviter ce module si vous le pouvez.

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

+0

Désolé si mon message était un peu flou. Peut-être que ma récente édition aidera à clarifier la situation ... bien que cela ressemble à mod_alias pourrait être le moyen d'aller ici ... Je vais devoir jeter un coup d'œil à la documentation. – Cypher

+0

Merci, c'est exactement ce dont j'avais besoin. – Cypher

0

Si je comprends bien votre question, alors ce qui suit, dans votre config VirtualHost, est-ce que vous vous demandez:

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

Eh bien, cela ne fonctionnera pas en réalité parce qu'il ya d'autres micro-sites qui doivent continuer à être référencé en faisant correspondre l'URL à la structure de répertoire. donc example.com/sales/jobs/ tire de/www/production/sales/jobs /. Ce que j'essaie de faire est de garder le reste de la structure du serveur intacte sans avoir à déverser plus de 60 fichiers dans la racine de la structure du répertoire pour le site racine. Avoir du sens? – Cypher