|
Voir le sujet précédent :: Voir le sujet suivant
|
| Auteur |
Message |
| |
|
gcvoiron WRInaute impliqué

Inscrit le: 19 Oct 2005 Messages: 491
|
Posté le : Dim Jan 27, 2008 11:47 Sujet du message: Aide pour URL Rewriting |
|
|
Bonjour,
Ayant modifié les pages de mon site, j'utilise l'URL rewriting pour rediriger les anciennes vers les nouvelles avec un R=301 pour les moteurs de recherche.
Maintenant, toutes mes pages sont en html. Avant, mon plan du site était "plan-du-site.php", maintenant, c'est "plan-du-site.html". Mais "plan-du-site.html" est une réécriture de "plan-du-site.php"....
Ce qui pose problème, c'est que l'ancienne page "plan-du-site.php" redirige vers "plan-du-site.html", qui est une réécriture de "plan-du-site.php"... ce qui fait une redirection en boucle !
Comment simplifier ça ?
Merci d'avance, Guillaume. |
|
| |
|
 |
webmasterlamogere WRInaute accro

Inscrit le: 17 Déc 2006 Messages: 1689 Localisation: urlrewriting.fr
|
Posté le : Dim Jan 27, 2008 14:08 Sujet du message: Aide pour URL Rewriting |
|
|
il n'y a rien a simplifier car tu confonds redirection et rewritting.
dans le cas d'une redirection le serveur ne retour pas le contenu de la page mais une nouvelle adresse.
dans le cas du rewritting le serveur retour le contenu d'une autre page.
Donc si ca boucle, c'est qu'il y a deux redirections réciproques soit qu'il y a une redirection vers la page demandée. |
|
| |
|
 |
gcvoiron WRInaute impliqué

Inscrit le: 19 Oct 2005 Messages: 491
|
Posté le : Dim Jan 27, 2008 18:17 Sujet du message: Aide pour URL Rewriting |
|
|
Ok, merci pour votre réponse.
Donc par exemple, si je veux faire rediriger index.html et index.php vers la racine, que mettre ?
J'ai essayé avec ça :
| Code: |
RewriteRule ^index.html http://www.monsite.com [R=301]
RewriteRule ^index.php http://www.monsite.com [R=301] |
Mais ça plante...
| Citation: |
| Firefox has detected that the server is redirecting the request for this address in a way that will never complete. |
|
|
| |
|
 |
Vap WRInaute accro

Inscrit le: 17 Juin 2007 Messages: 1073 Localisation: Bouches-du-Rhône
|
Posté le : Dim Jan 27, 2008 20:57 Sujet du message: Aide pour URL Rewriting |
|
|
Là tu a un cycle dans tes redirections car la racine est redirigée vers une des pages index.html ou index.php selon ta configuration.
Il y a deux chose à faire:
dire que le contenu qui doit etre affiché quand on est à la racine de ton site est différent de index.html et index.php,
et ensuite rediriger index.html et index.php vers cette page.
Donc fais les choses suivante. Renomme ta page index.php en info.php par exemple (n'importe quel nom convient).
Ensuite dit que c'est le contenu de info.php qui doit etre affiché par défaut. Pour cela il faut utiliser la commande DirectoryIndex. Mets cette ligne dans ton .htaccess:
| Code: |
DirectoryIndex info.php
|
alors -http://www.monsite.com affiche le contenu de http://www.monsite.com/info.php.
Ensuite les deux redirections que tu avais marchent (j'ai testé):
| Code: |
RewriteRule ^index.html http://www.monsite.com [R=301]
RewriteRule ^index.php http://www.monsite.com [R=301]
|
En effet, à chaque fois ce sera le contenu de info.php qui s'affichera.
Bref, il y a beaucoup d'autres choses que l'URL rewriting à notre disposition. |
|
| |
|
 |
webmasterlamogere WRInaute accro

Inscrit le: 17 Déc 2006 Messages: 1689 Localisation: urlrewriting.fr
|
Posté le : Dim Jan 27, 2008 21:30 Sujet du message: Aide pour URL Rewriting |
|
|
la bonne syntaxe serait celle là :
| Code: |
RewriteRule ^index\.html$ http://www.monsite.com/ [R=301]
RewriteRule ^index\.php$ http://www.monsite.com/ [R=301] |
sinon il y a la version php qui marche a tout les coups :
| Code: |
if ($_SERVER['REQUEST_URI'] == '/index.php') {
header("Status: 301 Moved Permanently", false, 301);
header("Location: /");
exit;
}
|
|
|
| |
|
 |
gcvoiron WRInaute impliqué

Inscrit le: 19 Oct 2005 Messages: 491
|
Posté le : Dim Jan 27, 2008 21:42 Sujet du message: Aide pour URL Rewriting |
|
|
| Merci pour vos réponses. J'ai pris la solution PHP, car l'utilisation de DirectoryIndex me liste le répertoire racine... |
|
| |
|
 |
Vap WRInaute accro

Inscrit le: 17 Juin 2007 Messages: 1073 Localisation: Bouches-du-Rhône
|
Posté le : Dim Jan 27, 2008 22:09 Sujet du message: Aide pour URL Rewriting |
|
|
| webmasterlamogere a écrit: |
la bonne syntaxe serait celle là :
| Code: |
RewriteRule ^index\.html$ http://www.monsite.com/ [R=301]
RewriteRule ^index\.php$ http://www.monsite.com/ [R=301] |
sinon il y a la version php qui marche a tout les coups :
| Code: |
if ($_SERVER['REQUEST_URI'] == '/index.php') {
header("Status: 301 Moved Permanently", false, 301);
header("Location: /");
exit;
}
|
|
Tes règles de réécriture bouclent chez moi...
Par ailleurs, le '.' dénotant n'importe quel caractère, il peut coder pour le caratère '.' !
Donc ma syntaxe marche  |
|
| |
|
 |
Vap WRInaute accro

Inscrit le: 17 Juin 2007 Messages: 1073 Localisation: Bouches-du-Rhône
|
Posté le : Dim Jan 27, 2008 22:12 Sujet du message: Aide pour URL Rewriting |
|
|
| gcvoiron a écrit: |
| Merci pour vos réponses. J'ai pris la solution PHP, car l'utilisation de DirectoryIndex me liste le répertoire racine... |
?? Tu avais renommé ta page index.php en info.php? |
|
| |
|
 |
gcvoiron WRInaute impliqué

Inscrit le: 19 Oct 2005 Messages: 491
|
Posté le : Dim Jan 27, 2008 22:39 Sujet du message: Aide pour URL Rewriting |
|
|
| Vap a écrit: |
| gcvoiron a écrit: |
| Merci pour vos réponses. J'ai pris la solution PHP, car l'utilisation de DirectoryIndex me liste le répertoire racine... |
?? Tu avais renommé ta page index.php en info.php? |
J'avais renommé mon index.php en index sans extension... |
|
| |
|
 |
Vap WRInaute accro

Inscrit le: 17 Juin 2007 Messages: 1073 Localisation: Bouches-du-Rhône
|
Posté le : Lun Jan 28, 2008 0:32 Sujet du message: Aide pour URL Rewriting |
|
|
| gcvoiron a écrit: |
| Vap a écrit: |
| gcvoiron a écrit: |
| Merci pour vos réponses. J'ai pris la solution PHP, car l'utilisation de DirectoryIndex me liste le répertoire racine... |
?? Tu avais renommé ta page index.php en info.php? |
J'avais renommé mon index.php en index sans extension... |
Ah, je commençais à me poser des questions.
Mais bon, si tu as résolu ton pb en PHP on peut clore cette discussion.
Edit: j'explique le problème. DirectoryIndex doit etre suivi par une ou plusieurs pages (url) valides. Si aucune des pages n'est disponible, il liste le contenu du répertoire.
Or "index" sans extension n'est pas un nom de page valide. Par defaut les extensions valides sont .html et .htm . En general, l'extension .php est ajoutée comme extension valide.
Donc, dans ton cas, DirectoryIndex n'étant pas suivi d'un nom de page valide, il liste le contenu du répertoire. |
|
| |
|
 |
gcvoiron WRInaute impliqué

Inscrit le: 19 Oct 2005 Messages: 491
|
Posté le : Lun Jan 28, 2008 20:57 Sujet du message: Aide pour URL Rewriting |
|
|
| Ok, merci pour ces précisions ! |
|
| |
|
 |
| |
|
|