SLC71 Posté 26 Avril 2010 Posté 26 Avril 2010 (modifié) Bonjour, n'ayant pas eu de réponse à mon précédent message, en même temps plusieurs choses étaient abordées donc cela ne facilitait peut etre pas la chose non plus. bref voici le soucis sur un de mes sites en construction j'ai un soucis de redirection de ma page /index.php vers / voici les codes utilisés sans succès RewriteEngine On RewriteCond %{HTTP_HOST} !^www.monsite.fr [NC] RewriteRule (.*) http://www.monsite.fr/$1 [QSA,R=301,L] RewriteRule ^index.php$ http://www.monsite.fr/ [L,R=301] et aussi RewriteEngine On RewriteCond %{HTTP_HOST} !^www.monsite.fr [NC] RewriteRule (.*) http://www.monsite.fr/$1 [QSA,R=301,L] RewriteRule ^(.*)index. php /$1 [R=301,L] à chaque fois je me retrouve avec une erreur 500 et je sais pas quoi et comment faire j'ai jamais eu ce soucis avant merci aux âmes charitables Modifié 26 Avril 2010 par SLC71
Dan Posté 26 Avril 2010 Posté 26 Avril 2010 C'est quoi ça comme règle ? RewriteRule ^(.*)index. php /$1 [R=301,L] Là on est certain d'avoir une erreur 500 ! Même sans l'espace devant "php" ... je ne vois pas ce que tu cherches à faire
SLC71 Posté 26 Avril 2010 Auteur Posté 26 Avril 2010 Bonjour Dan et merci de ton passage. donc voici ce que je cherche à faire: une redirection de www.monsite.tld/index.php vers www.monsite.tld/ d'habitude cela fonctionne quand j'applique la règle suivante: RewriteEngine OnRewriteCond %{HTTP_HOST} !^www.monsite.tld [NC]RewriteRule (.*) http://www.monsite.tld/$1 [QSA,R=301,L]RewriteRule ^index.php$ http://www.monsite.tld/ [L,R=301] cette règle ne fonctionnant pas, j'ai cherché des heures sur le net une alternative d'où le truc un peu bizarre de mon post précédent, vu que je suis désespéré j'essaye tout et n'importe quoi mais peut être que cela viens d'une autre règle déjà présente. (vu que ce n'est pas moi qui est fait ces règles et que je n'y connais rien, résultat je nage) bref voici le .htaccess au complet au cas ou # .htaccess automaticaly generated by PrestaShop e-commerce open-source solution# http://www.prestashop.com - http://www.prestashop.com/forumsAddType x-mapp-php5 .php# URL rewriting module activationOptions +FollowSymLinksRewriteEngine onRewriteCond %{HTTP_HOST} ^monsite\.comRewriteRule ^(.*)$ http://www.monsite.com/$1 [R=301,L]RewriteRule ^lang-fr/(.*) http://www.monsite.com/$1 [L,R=301]RewriteRule ^lang-en/(.*) http://www.monsite.com/$1 [L,R=301]# SSL enforcement for Back Office RewriteCond %{HTTPS} !=onRewriteRule ^admin4444/.* https://%{SERVER_NAME}%{REQUEST_URI} [R,L]RewriteBase /# URL rewriting rulesRewriteRule ^([a-z0-9]+)\-([a-z0-9]+)(\-[_a-zA-Z0-9-]*)/([_a-zA-Z0-9-]*)\.jpg$ /img/p/$1-$2$3.jpg [L,E]RewriteRule ^([0-9]+)(\-[_a-zA-Z0-9-]*)/([_a-zA-Z0-9-]*)\.jpg$ /img/c/$1$2.jpg [L,E]RewriteRule ^lang-([a-z]{2})/([a-zA-Z0-9-]*)/([0-9]+)\-([a-zA-Z0-9-]*)\.html(.*)$ /product.php?id_product=$3&isolang=$1$5 [L,E]RewriteRule ^lang-([a-z]{2})/([0-9]+)\-([a-zA-Z0-9-]*)\.html(.*)$ /product.php?id_product=$2&isolang=$1$4 [L,E]RewriteRule ^lang-([a-z]{2})/([0-9]+)\-([a-zA-Z0-9-]*)(.*)$ /category.php?id_category=$2&isolang=$1 [QSA,L,E]RewriteRule ^([a-zA-Z0-9-]*)/([0-9]+)\-([a-zA-Z0-9-]*)\.html(.*)$ /product.php?id_product=$2$4 [L,E]RewriteRule ^([0-9]+)\-([a-zA-Z0-9-]*)\.html(.*)$ /product.php?id_product=$1$3 [L,E]RewriteRule ^([0-9]+)\-([a-zA-Z0-9-]*)(.*)$ /category.php?id_category=$1 [QSA,L,E]RewriteRule ^content/([0-9]+)\-([a-zA-Z0-9-]*)(.*)$ /cms.php?id_cms=$1 [QSA,L,E]RewriteRule ^([0-9]+)__([a-zA-Z0-9-]*)(.*)$ /supplier.php?id_supplier=$1$3 [QSA,L,E]RewriteRule ^([0-9]+)_([a-zA-Z0-9-]*)(.*)$ /manufacturer.php?id_manufacturer=$1$3 [QSA,L,E]RewriteRule ^lang-([a-z]{2})/(.*)$ /$2?isolang=$1 [QSA,L,E]# Catch 404 errorsErrorDocument 404 /404.phpOptions All -Indexes
Dan Posté 26 Avril 2010 Posté 26 Avril 2010 Essaie avec la règle RewriteRule ^/?index\.php$ http://www.monsite.tld/ [L,R=301] Selon la config, le / est peut-être présent devant index.php et donc ^index.php ne pourra pas matcher /index.php
SLC71 Posté 26 Avril 2010 Auteur Posté 26 Avril 2010 j'ai essayé ta règle et c'est tout le site qui n'est plus accessible
Dan Posté 26 Avril 2010 Posté 26 Avril 2010 Ca m'étonnerait que ce soit cette règle ! Cela ne réécrit que index.php précédé ou non d'un slash Ou alors c'est que tu as vraiment un hébergement "en carton" !
SLC71 Posté 26 Avril 2010 Auteur Posté 26 Avril 2010 ben écoute sans ta règle le reste des redirection fonctionne et le site tourne normalement si je met ta règle impossible d'accéder au site j'ai une belle page d'erreur avec écrit ceci: La cause de ce problème peut être la désactivation ou le refus des cookies. si j'enlève le ? de ta règle le site devient à nouveau accessible mais la règle ne fonctionne pas ça commence à me casser les ...... je comprends pas d'où cela peut venir pour info l'hébergeur c'est enom.com t'as d'autres idées?
Dan Posté 27 Avril 2010 Posté 27 Avril 2010 Le ? est tout à fait légitime et marque l'élément qui précède comme facultatif. Dans ce cas le / J'en ai une bonne dizaine dans le .htaccess du Hub Si cela ne fonctionne pas chez toi, c'est que ton hébergeur a bidouillé mod_rewrite (je sais qu'OVH l'a fait sur ses mutualisés mais dans leur cas c'est fait correctement). C'est à ton hébergeur qu'il faut poser la question !
SLC71 Posté 27 Avril 2010 Auteur Posté 27 Avril 2010 bon ben j'ai plus qu'à m'orienter vers eux car j'ai d'autres redir qui ne veulent pas fonctionner par exemple une redir d'une ancienne page vers une nouvelle RewriteRule ancienpage.html http://www.nomdomaine.com/nouvellepage.html [R=301] elle marche pas par contre si je vais rewritepermanent ancienpage.html http://www.nomdomaine.com/nouvellepage.html [R=301] ça fonctionne mais renvoie vers la forme non réécrite de nouvelle page j'y comprends plus rien je vais voir ça avec eux je pense en tout cas merci à toi de t'être attardé sur mon cas, et je me charge de remercier l'autre personne
SLC71 Posté 29 Avril 2010 Auteur Posté 29 Avril 2010 @ Dan en fait voici le code qu'il fallait appliquer, pour être franc j'y comprends que dalle et si t'as 5 min pour jeter un oeil et m'expliquer le pourquoi du comment # URL rewriting module activationOptions +FollowSymLinksDirectoryIndex index.phpRewriteEngine OnRewriteBase /# Rewrite index.php to rootRewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/RewriteRule ^index\.php$ http://www.monsite.com/ [R=301,L]
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant