Rewrite en fonction du domaine
Consultez la formation URL Rewriting et sites dynamiques de WebRankInfo / Ranking Metrics
-

awelty - Nouveau WRInaute

- Messages: 25
- Inscription: 27 Fév 2006
Rewrite en fonction du domaine
Voici mon problème : je fais pointer plusieurs domaines vers la racine de mon site et avec un .htaccess je souhaite donner des règles de rewrite différentes selon le domaine. J'ai cherché longuement et fais plusieurs tests mais je n'y arrive pas. Il me semble qu'il faut utiliser REWRITECOND mais je n'ai pas réussi à m'en servir.
Pour schématiser mon probleme, Si je devais le faire en php je ferais ceci par exemple :
if(domaine == 'domaine1.com')
{
RewriteRule ^news.html$ site/index.php?num=2&site=domaine1 [L]
RewriteRule ^accueil.html$ site/index.php?num=1&site=domaine1 [L]
RewriteRule ^page.html$ site/index.php?num=3&site=domaine1 [L]
}
elseif(domaine == 'domaine2.com')
{
RewriteRule ^news.html$ site/index.php?num=2&site=domaine2 [L]
RewriteRule ^accueil.html$ site/index.php?num=1&site=domaine2 [L]
RewriteRule ^page.html$ site/index.php?num=3&site=domaine2 [L]
}
else
{
RewriteRule ^news.html$ index.php?num=2 [L]
RewriteRule ^accueil.html$ index.php?num=1 [L]
RewriteRule ^page.html$ index.php?num=3 [L]
}
Merci d'avance pour votre aide !!
-

Leonick - WRInaute accro

- Messages: 18812
- Inscription: 8 Aoû 2004
Re: Rewrite en fonction du domaine
awelty a écrit:if(domaine == 'domaine1.com')
- Code: Tout sélectionner
RewriteCond %{HTTP_HOST} ^domaine1.com$
-

awelty - Nouveau WRInaute

- Messages: 25
- Inscription: 27 Fév 2006
- Code: Tout sélectionner
RewriteCond %{HTTP_HOST} ^domaine1\.net
RewriteRule ^index.html$ site/index.php?login=domaine1 [L]
Mais après? le rewrite suivant ne sera plus lié au REWRITECOND? et comment faire le "else" ?
-

KOogar - WRInaute accro

- Messages: 3884
- Inscription: 16 Nov 2004
awelty a écrit:Je ne peux pas génerer un .htaccess en php ??
tu peux ecrire un fichier .htaccess avec la fonction fwrite de php. Mais tu ne peux pas integrer des commandes .htaccess directement dans du php. Puis je sais pas trop comment t'aider car je ne comprend pas exactement ce que tu veux faire.
-

awelty - Nouveau WRInaute

- Messages: 25
- Inscription: 27 Fév 2006
par exemple, sur chaque domaine on accède via index.html, mais le chemin est différent.
exemple pour domaine1.com ca sera index.php
pour domaine2.com site/index.php?domaine=domaine2
pour domaine3.com site/index.php?domaine=domaine3
...
Je veux donc que des regles de rewrite différentes s'appliquent selon le domaine. Sachant que pour chaque domaine il y a plusieurs règles de rewrite.
-

KOogar - WRInaute accro

- Messages: 3884
- Inscription: 16 Nov 2004
awelty a écrit:Ce que je veux c'est que en fonction du domaine (tous les domaines pointent à la racine, là où se trouve le .htaccess) qui appelle la page, on arrive sur page différente
La je ne suis pas du tout.
Chez moi, 1 domaine = 1 ftp.
Mais toi tu me dis que : x domaines = 1 ftp
tu as tous tes domaines qui pointent sur la meme racine ? comment est-ce possible et gerable une telle bête ??
-

awelty - Nouveau WRInaute

- Messages: 25
- Inscription: 27 Fév 2006
Seulement, je veux juste savoir comment faire une condition sur un ensemble de règles de rewrite pour mettre cela au point
-

KOogar - WRInaute accro

- Messages: 3884
- Inscription: 16 Nov 2004
J'ai pris 5 minutes et je t'en ai monter une partie, le tout appuyer sur un tuto que j'ai fait :
http://www.phpsources.org/tutoriel-fichiers.htm#part_4
- Code: Tout sélectionner
<?php
$f = '.htaccess';
$text = 'RewriteRule ^news.html$ site/index.php?num=2&site=domaine1 [L]';
$text .= '/n';
$text .= 'RewriteRule ^news.html$ site/index.php?num=2&site=domaine1 [L]';
$text .= '/n';
$text .= 'RewriteRule ^news.html$ site/index.php?num=2&site=domaine1 [L]';
$handle = fopen($f,"r");
if ($_SERVER['HTTP_HOST'] == 'domaine1.com')
// Ecriture
if (fwrite($handle, $text) === FALSE) {
echo 'Impossible d\'écrire dans le fichier '.$f.'';
exit;
}
}
echo 'Ecriture terminé';
fclose($handle);
?>
Mais comme dit + haut, pour moi ca ne peut pas marcher a moins de creer le .htaccess et ensuite de refaire un header sur le domaine.
genre :
fwrite($handle, $text);
header("location:http://www.mondomaine1.com");
-

KOogar - WRInaute accro

- Messages: 3884
- Inscription: 16 Nov 2004
- tu genere un fichier .htaccess selon le domaine d'ou ton visiteur vient. Tu vas m'expliquer comment tu va faire pour qu'1 visiteur venu d'un autre domaine lise le sien et pas celui du premier.
perso je dis que c'est impossible. Tu ne peux avoir qu'1 .htaccess et meme si t'arrive a recharger la page, pas sur que le navigateur accepte le nouveau .htaccess et tu auras forcement des gros problemes en cas de traffic a reecrire le meme fichier, surtout .HTACCESS!! ca va faire meuh ton serveur!!
-

awelty - Nouveau WRInaute

- Messages: 25
- Inscription: 27 Fév 2006
Il n'y a pas moyen de grouper plusieurs lignes à un "RewriteCond" plutot que de le placer au dessus de chaque ligne ?
Formation recommandée sur ce thème :
Formation URL Rewriting et sites dynamiques : apprenez comment mettre en place la réécriture d'URL, comment optimiser vos URL et profiter de vos pages dynamiques pour booster votre référencement. Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.
Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.
Lectures recommandées sur ce thème :
- Besoin d'aide pour fonction rewrite. Je désespère. Forum php
- rewrite domaine alias
- Sous domaine rewrite ?
- Rewrite d'une IP vers un domaine
- Rewrite dans un sous domaine
- ISAPI REWRITE , limiter à un domaine
- ISAPI Rewrite forcer le nom de domaine
- [Résolu]Rewrite suivant nom de domaine entré
- aide pour rewrite de repertoire de sous domaine
- Rewrite une url vers un sous-domaine
Consultez la description détaillée des produits ou services de Google suivants : Google Apps for your Domain, Google Apps Edition Premium, Google Related Links
- Trouver les sous-domaines
Cet outil vous permet de trouver la liste des sous-domaines (indexés) d'un site.
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités
