Problème/conflit "RedirectPermanent" et Url rewirting

GeoGe

Nouveau WRInaute
Bonjour à tous !
Je viens de refaire entièrement mon site internet, du coup j'ai du modifier par la même occasion le nom de certaines pages. Du coup, j'ai voulu mettre en place une redirection permanente dans .htaccess de l'ancienne page vers la nouvelle, or ceci ne fonctionne pas. En effet, au lieu de pointer "/accueil.html" vers "/index", la redirection fait pointer vers "/index.php?=accueil.html".

Voilà mon .htaccess si jamais une erreur vous saute aux yeux ;

Code:
RewriteBase /
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ /index.php?p=$1 [QSA,L]

RedirectPermanent /accueil.html http://www.mon-site.com/index

Merci d'avance pour votre aide, toute piste est la bienvenue !
 

bossboss

WRInaute occasionnel
Si tu essaye ça ça donne quoi?

Code:
RewriteBase /
RewriteEngine On
RewriteRule /accueil.html http://www.mon-site.com/index [QSA,L,301]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ /index.php?p=$1 [QSA,L]
 

baud74

WRInaute impliqué
pour vérifier que ce n'est pas un problème de cache, il faudrait le vider ou tester dans un autre navigateur.
 

GeoGe

Nouveau WRInaute
Justement, je viens d'éditer mon message précédent, j'ai testé avec un autre navigateur et cette fois je suis redirigé vers ma page 404...

Pour info, mon fichier index.php si jamais ça peut servir ;
Code:
<?php
header( 'content-type: text/html; charset=utf-8' );
define("ROOT", "/");

if (!isset($_GET["p"])){$_GET["p"]="index";}
if (!file_exists("content/".$_GET["p"].".php")){$_GET["p"]="404";}

ob_start();

include "content/".$_GET["p"].".php";

$content = ob_get_contents();

ob_end_clean();

include "template.php";

?>
 

GeoGe

Nouveau WRInaute
Finalement j'ai trouvé la réponse ; simple erreur de syntaxe.

Si jamais quelqu'un est soumis au même problème, il fallait écrire ;
RewriteRule ^accueil\.html$ http://www.mon-site.com/index [QSA,L,R=301]

et non ;
RewriteRule /accueil.html http://www.mon-site.com/index [QSA,L,301]

En tout cas, merci pour vos contributions ;)
 

Discussions similaires

Haut