url rewriting - besoin d'aide
17 messages
• Page 1 sur 2 • 1, 2
Consultez la formation URL Rewriting et sites dynamiques de WebRankInfo / Ranking Metrics
- ripcurl45
- Nouveau WRInaute

- Messages: 9
- Inscription: 4 Oct 2008
url rewriting - besoin d'aide
Bonjour à tous,
J'ai un site dans lequel j'ai placé mes pages dans un répertoire nommé "sites_clq".
On accède à mes pages avec ces adresses:
http://www.monsite.com/sites_clq/mapage.html
J'aimerais avec un fichier .htaccess renommer ce répertoire en "site" dans la barre d'adresse du navigateur pour obtenir :
http://www.monsite.com/site/mapage.html
Ou encore mieux supprimer virtuellement l'afichage du nom de ce dossier pour obtenir :
http://www.monsite.com/mapage.html
Mon hébergement est bien configuré et accepte l'url rewriting, j'ai fait de nombreuse recherches et essais mais sans succès.
Une solution ?
J'ai un site dans lequel j'ai placé mes pages dans un répertoire nommé "sites_clq".
On accède à mes pages avec ces adresses:
http://www.monsite.com/sites_clq/mapage.html
J'aimerais avec un fichier .htaccess renommer ce répertoire en "site" dans la barre d'adresse du navigateur pour obtenir :
http://www.monsite.com/site/mapage.html
Ou encore mieux supprimer virtuellement l'afichage du nom de ce dossier pour obtenir :
http://www.monsite.com/mapage.html
Mon hébergement est bien configuré et accepte l'url rewriting, j'ai fait de nombreuse recherches et essais mais sans succès.
Une solution ?
- Vap
- WRInaute passionné

- Messages: 1090
- Inscription: 17 Juin 2007
A la racine du site tu peux mettre ce qui suit dans ton .htaccess (je suppose que tu es sous Apache, mais tu ne l'as pas précisé):
Et tu change tous tes liens en enlevant /site_clq
Normalement, si tu entre -http://www.monsite.com/mapage.html tu obtiens l'affichage de la page -http://www.monsite.com/sites_clq/mapage.html
- Code: Tout sélectionner
RewriteEngine On
RewriteRule (.*) /site_clq/$1 [QSA,L]
Et tu change tous tes liens en enlevant /site_clq
Normalement, si tu entre -http://www.monsite.com/mapage.html tu obtiens l'affichage de la page -http://www.monsite.com/sites_clq/mapage.html
- ripcurl45
- Nouveau WRInaute

- Messages: 9
- Inscription: 4 Oct 2008
Merci,
Ca marche !
Seul problème, je ne m'attendais pas à cela, j'ai plusieurs noms de domaines qui pointent vers mon site.
J'ai une page php « index.php » à la racine de mon site qui redirige le visiteur vers une page différente sur mon site en fonction du nom de domaine saisi.
Par exemple si le visiteur à saisis www.example1.com il est redirigé vers la "sites_clq/example1.html", si il à saisi example2.com il est redirigé vers la dossier " sites_clq/example2.html".
Si je place le fichier htaccess à la racine au même niveau que la page index.php les redirections ne fonctionnent plus.
En revanche si je tape directement http://www.example1.com/example1.html ça marche, alors que la page se trouve dans http://www.example1.com/sites_clq/ example1.html
Pourtant j'ai bien changé mes liens de redirection dans ma page index.php avant il était du type :
Si tu as tapé www.example1.com tu es redirigé vers
http://www.example1.com/sites_clq/example1.html
Depuis que j'ai placé le htacces j'ai mis :
Si tu as tapé www.example1.com tu es redirigé vers
http://www.example1.com/example1.html
Mais là la redirection ne fonctionne plus.
Voici le bout de code php qui me permet de rediriger vers une page en fonction du nom de domine saisi :
Comment puis-je conservé ce sytème de redirection avec l’url rewritting ?
Peut-être dois-je faire à présent les redirections directement dans le htaccess lui-même plutôt que dans une page php.
Mais dans ce cas je ne sais pas comment faire.
Merci à vos âmes charitables, dites moi si je ne suis pas assez clair.
Ca marche !
Seul problème, je ne m'attendais pas à cela, j'ai plusieurs noms de domaines qui pointent vers mon site.
J'ai une page php « index.php » à la racine de mon site qui redirige le visiteur vers une page différente sur mon site en fonction du nom de domaine saisi.
Par exemple si le visiteur à saisis www.example1.com il est redirigé vers la "sites_clq/example1.html", si il à saisi example2.com il est redirigé vers la dossier " sites_clq/example2.html".
Si je place le fichier htaccess à la racine au même niveau que la page index.php les redirections ne fonctionnent plus.
En revanche si je tape directement http://www.example1.com/example1.html ça marche, alors que la page se trouve dans http://www.example1.com/sites_clq/ example1.html
Pourtant j'ai bien changé mes liens de redirection dans ma page index.php avant il était du type :
Si tu as tapé www.example1.com tu es redirigé vers
http://www.example1.com/sites_clq/example1.html
Depuis que j'ai placé le htacces j'ai mis :
Si tu as tapé www.example1.com tu es redirigé vers
http://www.example1.com/example1.html
Mais là la redirection ne fonctionne plus.
Voici le bout de code php qui me permet de rediriger vers une page en fonction du nom de domine saisi :
- Code: Tout sélectionner
// On Récupère l'url saisie
function url_actuelle()
{
return "http://" . $_SERVER["SERVER_NAME"] . $_SERVER["REQUEST_URI"];
}
$domaine = url_actuelle();
if($domaine == "http://www.example1.com/"){
header("Status : 302 Moved Permanently");
header("Location: http://www.example1.com/mapage.hmtl");
exit();
}
Comment puis-je conservé ce sytème de redirection avec l’url rewritting ?
Peut-être dois-je faire à présent les redirections directement dans le htaccess lui-même plutôt que dans une page php.
Mais dans ce cas je ne sais pas comment faire.
Merci à vos âmes charitables, dites moi si je ne suis pas assez clair.
- Vap
- WRInaute passionné

- Messages: 1090
- Inscription: 17 Juin 2007
Je ne comprends rien, peut etre ne suis je pas assez révéillé!
Peux tu dire précisément:
Où se trouve ta page index.php? Dans /sites_clq/ ou dans /
Vers quels répertoires pointent tes snoms de domaine: / ou /sistes_clq, ou autre chose.
Peux tu dire pourquoi tu ne créee pas un répertoire par nom de domaine et tu fais pointer chaque nom de domaine vers son répertoire? Veux tu partager des ressources entre tes sites? Parce que sinon, avoir un répertoire par siteest de loin la solution la plus simple.
Au passage, dans ton code PHP tu devrais avoir un status 301 et non 302. Et en plus tu devrais utiliser autre chose pour indiquer la redirection:
Mais je pense qu'on pourra tout régler par .htaccess si tu répond a mes questions.
Peux tu dire précisément:
Où se trouve ta page index.php? Dans /sites_clq/ ou dans /
Vers quels répertoires pointent tes snoms de domaine: / ou /sistes_clq, ou autre chose.
Peux tu dire pourquoi tu ne créee pas un répertoire par nom de domaine et tu fais pointer chaque nom de domaine vers son répertoire? Veux tu partager des ressources entre tes sites? Parce que sinon, avoir un répertoire par siteest de loin la solution la plus simple.
Au passage, dans ton code PHP tu devrais avoir un status 301 et non 302. Et en plus tu devrais utiliser autre chose pour indiquer la redirection:
- Code: Tout sélectionner
// On Récupère l'url saisie
function url_actuelle()
{
return "http://" . $_SERVER["SERVER_NAME"] . $_SERVER["REQUEST_URI"];
}
$domaine = url_actuelle();
if($domaine == "http://www.example1.com/"){
header("HTTP/1.1 301 Moved Permanently");
header("Location: http://www.example1.com/mapage.hmtl");
exit();
}
Mais je pense qu'on pourra tout régler par .htaccess si tu répond a mes questions.
- ripcurl45
- Nouveau WRInaute

- Messages: 9
- Inscription: 4 Oct 2008
Merci,
Je pense que c’est moi qui explique mal ma configuration.
J’ai une interface spip (une seule pour quelques sites) une rubrique spip pour chaque site.
Donc je n’ai pas de répertoire distinct pour chaque site.
En fait lorsqu’un visiteur tape http://www.example1.com il est redirigé vers
La rubrique spip exemple1
Si le visiteur tape http://www.example2.com il est redirigé vers
La rubrique spip exemple2
J’ai un serveur dédié avec un domaine par défaut dessus, lorsque j’achète un nom de domaine chez gandi (par exemple) j’indique dans les dns l’adresse ip de mon serveur qui pointe automatiquement vers mon domaine par défaut (c’est pas évident à expliquer je comprend que tu patauges un peu).
Donc ma page index.php se trouve à la racine de mon serveur (/) et pas dans /sites_clq
Mon index.php redirige vers la rubrique spip souhaitée en fonction du nom de domaine saisi
par exemple si le visiteur à tapé : http://www.example1.com
Il est redirigé vers http://www.example1.com/sites_clq/spip. ... e=exemple1
Merci.
Je pense que c’est moi qui explique mal ma configuration.
J’ai une interface spip (une seule pour quelques sites) une rubrique spip pour chaque site.
Donc je n’ai pas de répertoire distinct pour chaque site.
En fait lorsqu’un visiteur tape http://www.example1.com il est redirigé vers
La rubrique spip exemple1
Si le visiteur tape http://www.example2.com il est redirigé vers
La rubrique spip exemple2
J’ai un serveur dédié avec un domaine par défaut dessus, lorsque j’achète un nom de domaine chez gandi (par exemple) j’indique dans les dns l’adresse ip de mon serveur qui pointe automatiquement vers mon domaine par défaut (c’est pas évident à expliquer je comprend que tu patauges un peu).
Donc ma page index.php se trouve à la racine de mon serveur (/) et pas dans /sites_clq
Mon index.php redirige vers la rubrique spip souhaitée en fonction du nom de domaine saisi
par exemple si le visiteur à tapé : http://www.example1.com
Il est redirigé vers http://www.example1.com/sites_clq/spip. ... e=exemple1
Merci.
- Vap
- WRInaute passionné

- Messages: 1090
- Inscription: 17 Juin 2007
Bon,
la solution la plus simple est de dire que les DNS a utiliser sont ceux de l'hébergeur. Ensuite, chez l'hébetr geur, tu fais pointer chaque ndd vers son répertoire.
Si tu ne veux pas faire ça, dis le, et on verra comment faire autre chose par .htaccess.
Par ailleurs, je suis comme toi, je prend mes ndd chez Gandi, et j'héberge ailleurs (Gandi n'hébergeait pas à l'éopque). Au moins, en cas de pb tu peux changer d'hébergeur facilement.
la solution la plus simple est de dire que les DNS a utiliser sont ceux de l'hébergeur. Ensuite, chez l'hébetr geur, tu fais pointer chaque ndd vers son répertoire.
Si tu ne veux pas faire ça, dis le, et on verra comment faire autre chose par .htaccess.
Par ailleurs, je suis comme toi, je prend mes ndd chez Gandi, et j'héberge ailleurs (Gandi n'hébergeait pas à l'éopque). Au moins, en cas de pb tu peux changer d'hébergeur facilement.
- Vap
- WRInaute passionné

- Messages: 1090
- Inscription: 17 Juin 2007
ON peut faire beaucoup de choses, mais je ne connais pas spip.
Sans cette connaissance il peu probable que les règles que je te proposerait marchent. Désolé.
Je continue a penser que ce serait plus simple que tu associe chaque ndd a un répertoire différent, comme je te l'ai expliqué plus haut.
Sans cette connaissance il peu probable que les règles que je te proposerait marchent. Désolé.
Je continue a penser que ce serait plus simple que tu associe chaque ndd a un répertoire différent, comme je te l'ai expliqué plus haut.
- ripcurl45
- Nouveau WRInaute

- Messages: 9
- Inscription: 4 Oct 2008
Bon ben j'ai renommé manuellement mon répertoire en changeant tout mes liens, ce n'est pas très propre et je j'en ai surrement oublié qui seront mis à jour au fur et à mesure.
Le fait que mes sites soit sous spip ne pose pas de problème je pense puisqu'il s'agit en fait de rediriger chaque ndd vers une page spip différente.
Si le visiteur à saisit http://www.example1.com il est redirigé vers cette page : http://www.example1.com/spip.php?rubrique1
Si le visiteur à saisit http://www.example2.com il est redirigé vers cette page : http://www.example1.com/spip.php?rubrique2
Quelle serait la différence avec un redirection vers deux répertoire distints ?
Je pense que c'est gérable de la même façon non ?
Merci.
Le fait que mes sites soit sous spip ne pose pas de problème je pense puisqu'il s'agit en fait de rediriger chaque ndd vers une page spip différente.
Si le visiteur à saisit http://www.example1.com il est redirigé vers cette page : http://www.example1.com/spip.php?rubrique1
Si le visiteur à saisit http://www.example2.com il est redirigé vers cette page : http://www.example1.com/spip.php?rubrique2
Quelle serait la différence avec un redirection vers deux répertoire distints ?
Je pense que c'est gérable de la même façon non ?
Merci.
- Vap
- WRInaute passionné

- Messages: 1090
- Inscription: 17 Juin 2007
Bon,
je vais essayer quand même, sans garantie.
Je suppose que tu as un serveur apache. Il faut que tu crée un fichier .htaccess à la racine de ton site. Ce fichier doit contenir ce qui suit
La première ligne n'est pas nécessaire chez certains hébergeurs.
Ensuite, pour chaque ndd tu met les lignes suivantes, ici pour example1.com:
je vais essayer quand même, sans garantie.
Je suppose que tu as un serveur apache. Il faut que tu crée un fichier .htaccess à la racine de ton site. Ce fichier doit contenir ce qui suit
- Code: Tout sélectionner
Options +FollowSymLinks
RewriteEngine On
La première ligne n'est pas nécessaire chez certains hébergeurs.
Ensuite, pour chaque ndd tu met les lignes suivantes, ici pour example1.com:
- Code: Tout sélectionner
RewriteCond %{HTTP_HOST} ^example1.com$
RewriteRule ^$ http://www.example1.com/spip.php?rubrique1 [R=301,L]
- ripcurl45
- Nouveau WRInaute

- Messages: 9
- Inscription: 4 Oct 2008
Bon alors,
Les redirections fonctionnent, cependant elle fonctionnent si le visiteur tape http://example1.com, mais pas si il tape http://www.example1.com
Quelles sont les options à rajouter pour que la redirection fonctionne dans les 2 cas ?
Deuxième question (j'en demande peut-être un peu trop), la redirection se fait mais l'url :
http://www.example1.com/sites_clq/spip.php?rubrique=exemple1 est toujours affichée.
Est-il possible lors de la redirection de supprimer l'affichage du repertoire "site_clq" ?
Pour obtenir : http://www.example1.com/spip.php?rubrique=exemple1
C'est pas facile tout ca, merci pour ta patience.
Les redirections fonctionnent, cependant elle fonctionnent si le visiteur tape http://example1.com, mais pas si il tape http://www.example1.com
Quelles sont les options à rajouter pour que la redirection fonctionne dans les 2 cas ?
Deuxième question (j'en demande peut-être un peu trop), la redirection se fait mais l'url :
http://www.example1.com/sites_clq/spip.php?rubrique=exemple1 est toujours affichée.
Est-il possible lors de la redirection de supprimer l'affichage du repertoire "site_clq" ?
Pour obtenir : http://www.example1.com/spip.php?rubrique=exemple1
C'est pas facile tout ca, merci pour ta patience.
- Vap
- WRInaute passionné

- Messages: 1090
- Inscription: 17 Juin 2007
ripcurl45 a écrit:Bon alors,
Les redirections fonctionnent, cependant elle fonctionnent si le visiteur tape http://example1.com, mais pas si il tape http://www.example1.com
Quelles sont les options à rajouter pour que la redirection fonctionne dans les 2 cas ?
Il suffit de modifier un peu la règle:
- Code: Tout sélectionner
RewriteCond %{HTTP_HOST} example1.com$
RewriteRule ^$ http://www.example1.com/spip.php?rubrique1 [R=301,L]
Là ca redirigera aussi tous les sous domaines de example1.com
ripcurl45 a écrit:Deuxième question (j'en demande peut-être un peu trop), la redirection se fait mais l'url :
http://www.example1.com/sites_clq/spip.php?rubrique=exemple1 est toujours affichée.
Est-il possible lors de la redirection de supprimer l'affichage du repertoire "site_clq" ?
Pour obtenir : http://www.example1.com/spip.php?rubrique=exemple1
je me doutais que tu voudrais cela, et c'est ce qui me semble difficile a faire sans connaitre comment marche spip. La règle que je te donne envoie vers /spip.php?rubrique1. Qu'est-ce qui envoie vers /sites_clq/spip.php?rubrique1 ?
- ripcurl45
- Nouveau WRInaute

- Messages: 9
- Inscription: 4 Oct 2008
Merci les redirections fonctionnent avec tous les sous domaines.
Le répertoire "site_clq" est mon dossier racine spip dans lequel se trouve la page spip.php lorsqu'on indique à cette page
"?rubrique1" par exmemple spip nous affiche la rubrique 1 qui chez moi correspond à la page d'accueil du site :
http://www.example1.com
Je voudrais juste masquer l'affichage du dossier racine spip dans l'url.
J'y suis presque arrivé en ajoutant une ligne de code que tu m'avais indiqué la première fois voici ce que j'ai fait :
Et là ca marche presque sauf que du coup se sont mes images dans les pages qui ne s'affichent plus.
Elles sont placées dans un dossier Userfile à la racine du site.
Je pense que tout ca est un peu trop compliqué je vais laisser tel quel.
A moins que tu n'est une solution miracle, j'ai posté cette question dans les forums spip mais pas de réponse.
Merci pour tout.
Le répertoire "site_clq" est mon dossier racine spip dans lequel se trouve la page spip.php lorsqu'on indique à cette page
"?rubrique1" par exmemple spip nous affiche la rubrique 1 qui chez moi correspond à la page d'accueil du site :
http://www.example1.com
Je voudrais juste masquer l'affichage du dossier racine spip dans l'url.
J'y suis presque arrivé en ajoutant une ligne de code que tu m'avais indiqué la première fois voici ce que j'ai fait :
- Code: Tout sélectionner
########## Liste des redirections par nom de domaine ##########
RewriteCond %{HTTP_HOST} example1.com$
RewriteRule ^$ http://www.example1.com/spip.php?rubrique1 [R=301,L]
RewriteCond %{HTTP_HOST} example2.com$
RewriteRule ^$ http://www.example2.com/spip.php?rubrique2 [R=301,L]
########## on masque l'affichage du répertoire (site_clq) ##########
#RewriteRule (.*) /site_clq/$1 [QSA,L]
Et là ca marche presque sauf que du coup se sont mes images dans les pages qui ne s'affichent plus.
Elles sont placées dans un dossier Userfile à la racine du site.
Je pense que tout ca est un peu trop compliqué je vais laisser tel quel.
A moins que tu n'est une solution miracle, j'ai posté cette question dans les forums spip mais pas de réponse.
Merci pour tout.
17 messages
• Page 1 sur 2 • 1, 2
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 :
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités

