2010-01-18 3 views
0

J'ai une structure de répertoire sur notre VPS comme ceci:Mod Rewrite: Comment réécrivez-vous hors du répertoire personnel de l'URL?

/www 
    /site_one 
    /site_two 

Et va www.siteone.com vous amène à/www/site_one/sur le serveur. Je voudrais utiliser mod_rewrite pour pointer une demande pour www.siteone.com/thing/ dans le répertoire/www/site_two/thing.

J'ai essayé une ré-écriture de base comme:

RewriteRule ^page.html$ /www/site_two/new_page.html 

mais/fait référence à/www/site_one/

est-il un moyen de le faire pour servir la page du répertoire I'D comme?

EDIT

Pour répondre aux questions suivantes:

@Ignacio Je ne sais pas si je partais quelque chose d'important sur. Tout nouveau à mod_rewrite.

@outis: Oui, les deux sites sont des hôtes viraux. www.site_one.com est mis en correspondance/www/site_one/et www.site_two.com est mappée ot/www/site_two

+0

Quelque chose là-bas sent drôle ... Avez-vous omis une information critique? –

+0

Comment les domaines sont-ils mappés à leurs racines de document respectives? Les différents sites sont-ils des hôtes virtuels? – outis

Répondre

1

Donner une URL complète, qui redirige implicitement:

RewriteCond %{HTTP_HOST} (.*\.)site_one\.com$ 
RewriteRule ^/?(thing(/.*)?) http://%1site_two.com/$1 

Pour y parvenir sans la redirection, les documents dans/www/site_two doivent être accessibles via les URL du domaine site_one.com; un lien symbolique de/www/site_one/site_two à/www/site_two pourrait le faire.

+0

C'est lisse. Je n'aurais pas pensé à ajouter un lien symbolique pour obtenir l'effet désiré. Je te donnerais un autre +1 si je le pouvais! – Erik

+0

N'oubliez pas de permettre le suivi des liens symboliques si vous décidez d'emprunter cette route. –

+0

L'idée de lien symbolique a une odeur. La qualité d'une idée dépend de la relation entre les sites, ce qui devrait déterminer si une ressource site_two doit être accessible via une URL site_one. À tout le moins, les URL site_one externes avec "^/site_two" ne doivent pas être autorisées. Une autre source d'odeur est le contenu en double, qui affecte les classements des moteurs de recherche (http://www.google.com/support/webmasters/bin/answer.py?hl=fr&answer=66359). Dans l'ensemble, les redirections externes sont la voie à suivre. – outis