2010-08-18 6 views
0

redirect à base de domaine à différents fichiers PHP via htaccessdomaine basé sur redirect différents fichiers PHP via htaccess

Bonjour là. Voici la chose: J'ai deux domaines ici [http://www.myproject.com et [http://www.myproject.com.br .. Dans mon dossier racine j'ai tous les trucs pour mes projets, dont deux « indices »: « index fr.php » pour l'anglais et " index.php "pour le portugais.

Puis-je avoir un truc dans htaccess qui redirige mes utilisateurs vers un de ces fichiers en fonction du domaine? .. quelque chose comme:

[http://www.myproject.com [OR] [http://myproject.com rediriger vers [http://www.myproject.com/index-en.php

et

[http://www.myproject.com.br [OR] [http://myproject.com.br rediriger vers [http://www.myproject.com.br/index.php

?? Désolé si c'est une question stupide, mais je suis presque fou de chercher des tutoriels sur Internet et je ne peux pas obtenir quelque chose qui fonctionne ou une réponse si cela est possible ou juste une question stupide .. Quelqu'un peut-il s'il vous plaît me donner une direction ? Peut-être une solution avec un index de répertoire conditionnel (je ne sais pas si c'est possible).

merci beaucoup

En fait, j'ai dans mon .htaccess:

ErrorDocument 404 /404.php 

<IfModule mod_rewrite.c> 
    #Options +FollowSymLinks 
    RewriteEngine On 
    RewriteBase/

    RewriteCond %{HTTP_HOST} ^myproject.com$ [NC] 
    RewriteRule ^(.*)$ http://www.myproject.com/index-en.php [R=301,L] 

    RewriteCond %{HTTP_HOST} ^myproject.com.br$ [NC] 
    RewriteRule ^(.*)$ http://www.myproject.com.br/ [R=301,L] 
</IfModule> 

Cela fait exactement le "non www www" - qui fonctionne correctement

Répondre

0

Cela devrait fais ce que tu veux. La supercherie RewriteCond est probablement un peu exagérée ici, mais cela facilite l'ajout de langues supplémentaires:

ErrorDocument 404 /404.php 

RewriteEngine On 
RewriteBase/

RewriteCond %{HTTP_HOST} !^www [NC] 
RewriteRule^http://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L] 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{HTTP_HOST}/index.php \.com\.br/(index.php)$ [NC,OR] 
RewriteCond %{HTTP_HOST}/index-en.php \.com/(index-en.php)$ [NC] 
RewriteRule^%1 
+0

THanks man! Cela a fait le tour parfaitement! Merci beaucoup! – Fabio

+0

Moi encore = | Je viens de remarquer que mon "ErrorDocument 404 /404.php" ne fonctionne plus ... il est possible de résoudre ce problème? Encore merci beaucoup. – Fabio

+0

@Fabio - Ah, oups. Vous pouvez essayer de changer 'RewriteRule ^% 1' en' RewriteRule^$% 1', et voir si cela corrige les choses. –

0
RewriteCond %{HTTP_HOST} myproject\.com$ 
RewriteRule ^/$ /index-en.php 

RewriteCond %{HTTP_HOST} myproject\.com\.br$ 
RewriteRule ^/$ /index.php 
+0

Bonjour, merci d'avoir répondu. Cela n'a pas semblé fonctionner .. j'ai enlevé mes rewriteconds et règles réels et mets le vôtre mais rien ne semble changer (le "non www à www" ne fonctionne plus) – Fabio