Aller au contenu

Sujets conseillés

Posté

Salut à tous,

J'ai un .htaccess avec un ensemble de règle de réécriture qui fonctionnent en local et chez Ovh.

J'ai rajouté une dernière règle pour rediriger index.php => /

RewriteRule ^index.php$ / [QSA,L,R=301]

ça marche très bien en local, mais pas chez Ovh.

Quelle est la bonne syntaxe pour rédiriger index.php vers la racine du site ?

merci pour le coup de main.

Posté

Chez OVH ça te fait quoi justement, une erreur ? Si tu as accès au log (error_log), tu peux identifier la ligne de l'erreur ? En général il te dit ce qui déconne (chemin introuvable etc.).

Posté

Enlève le ^ devant index.php ;)

RewriteRule index.php$  /  [QSA,L,R=301]

Posté

Merci pour vos infos.

Les différentes modifs ne marchent pas. Et comme ce n'est pas mon site, pour l'instant, je n'ai pas accés aux fichiers de logs.

Voici le .htaccess en entier :

Options +FollowSymLinks
RewriteEngine On
RewriteBase /

RewriteRule ^(.*)-p-(.*).html$ product_info.php?products_id=$2&%{QUERY_STRING}
RewriteRule ^(.*)-c-(.*)/$ index.php?cPath=$2&%{QUERY_STRING}
RewriteRule ^(.*)-m-(.*)/$ index.php?manufacturers_id=$2&%{QUERY_STRING}
RewriteRule ^(.*)-pi-(.*).html$ popup_image.php?pID=$2&%{QUERY_STRING}
RewriteRule ^(.*)-t-(.*).html$ articles.php?tPath=$2&%{QUERY_STRING}
RewriteRule ^(.*)-a-(.*).html$ article_info.php?articles_id=$2&%{QUERY_STRING}
RewriteRule ^(.*)-pr-(.*).html$ product_reviews.php?products_id=$2&%{QUERY_STRING}
RewriteRule ^(.*)-pri-(.*).html$ product_reviews_info.php?products_id=$2&%{QUERY_STRING}
RewriteRule ^(.*)-i-(.*).html$ information.php?info_id=$2&%{QUERY_STRING}
RewriteRule ^(.*)-links-(.*).html$ links.php?lPath=$2&%{QUERY_STRING}
RewriteRule ^index.php$ / [QSA,L,R=301]

Pour la dernière règle j'ai testé toutes les modifs conseillés ici.

C'est fou, cette règle est toute simple et en plus elle marche sur mon poste en local :boude:

Posté

Question bête, par défaut, quand tu arrives sur le site, ce n'est pas index.php qui est appelé ? Je sais que j'avais un problème similaire et je m'étais résolu à faire une bidouille mais en PHP, dans le fichier appelé par tous mes scripts (mon index.php est appelé systématiquement, je fais des include après, plus simple à gérer).

if( preg_match('/index.php/siU', $_SERVER['REQUEST_URI']) )
{ header("HTTP/1.1 301 Redirect Permanent"); location("/"); }

Posté
Question bête, par défaut, quand tu arrives sur le site, ce n'est pas index.php qui est appelé ?

<{POST_SNAPBACK}>

Non. Enfin, index.php si j'arrive à la racine du site. Mais ça c'est normal.

Merci pour ton astuce en Php. Je l'avais déjà lu ( peut-être sur ce forum ).

Je désire intervenir au niveau Apache, et non pas au niveau Php.

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...