Rewrite en fonction du domaine
13 messages • Page 1 sur 1
Consultez la formation URL Rewriting et sites dynamiques de WebRankInfo / Ranking Metrics
Rewrite en fonction du domaine
Bonjour à tous,
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 !!
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 !!
Re: Rewrite en fonction du domaine
awelty a écrit:if(domaine == 'domaine1.com')
- Code: Tout sélectionner
RewriteCond %{HTTP_HOST} ^domaine1.com$
Oui, c'est déjà sur quoi j'étais arrivé :
Mais après? le rewrite suivant ne sera plus lié au REWRITECOND? et comment faire le "else" ?
- 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" ?
>> Pour schématiser mon probleme, Si je devais le faire en php je ferais ceci par exemple :
Parfait!! tu peux le faire en php, tu iras plus vite a coder. Au passage: pas de "else" en .htaccess. 1 seul test de condition avec (if)
Parfait!! tu peux le faire en php, tu iras plus vite a coder. Au passage: pas de "else" en .htaccess. 1 seul test de condition avec (if)
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.
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
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.
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.
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 ??
Ce n'est pas la question que ce soit ingérable.
Car ca le sera pas, à chaque domaine ajouté, le .htaccess sera regenéré automatiquement.
Seulement, je veux juste savoir comment faire une condition sur un ensemble de règles de rewrite pour mettre cela au point
Seulement, je veux juste savoir comment faire une condition sur un ensemble de règles de rewrite pour mettre cela au point
donc il te faut créer un fichier a chaque fois ? mais ca ne marchera jamais car le moteur php va d'abord pointer sur le .htaccess et ensuite sur il executera le php.
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
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");
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");
- tu ne peux pas faire de else en .htaccess
- 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!!
- 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!!
En fait, la seule solution est de mettre un RewriteCond %{HTTP_HOST} ^([^.]*)\.?domaine\.net devant chaque ligne de mon htaccess et ça fonctionne.. Un peu contraignant mais apparament pas le choix.
Il n'y a pas moyen de grouper plusieurs lignes à un "RewriteCond" plutot que de le placer au dessus de chaque ligne ?
Il n'y a pas moyen de grouper plusieurs lignes à un "RewriteCond" plutot que de le placer au dessus de chaque ligne ?
13 messages • Page 1 sur 1
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 :
- Le gPhone, téléphone mobile révolutionnaire ?
- WebRankInfo lance un forum sur les noms de domaine
- Google rachète Applied Semantics
- Comment éviter de se faire voler son nom de domaine...
- Noms de domaine : Google se lance dans le marché
- Changements de nom de domaine et TrustRank
- Configurer les options de passage de Googlebot sur son site
- Gérer l'entête HTTP en PHP
- Yahoo poursuit les propriétaires de 1763 noms de domaine
- Utilisation des données WHOIS par Google
- Besoin d'aide pour fonction rewrite. Je désespère. Forum php
- Sous domaine rewrite ?
- Rewrite d'une IP vers un domaine
- Rewrite dans un sous domaine
- ISAPI REWRITE , limiter à un domaine
- [Résolu]Rewrite suivant nom de domaine entré
- aide pour rewrite de repertoire de sous domaine
- Rewrite une url vers un sous-domaine
- DNS en fonction de son domaine
- Direction en fonction du nom de domaine
- Redirection en fonction du sous domaine utilisé
- Changer de logo en fonction du nom de domaine
- ISAPI rewrite URL rewrite pour ASP
- Rewrite long ou url court sans rewrite ?
- Fonction avec le même nom, et appel de la fonction d'origine
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 1 invité





le forum