Problème de redirection 301 dans fichier htacces

Nouveau WRInaute
Bonjour à tous,
Je tente de réaliser une redirection 301 dans un fichier htacces sur ma page index.php que j'ai réécrite. La réécriture fonctionne. L'entête HTTP renvoie bien "HTTP/1.1 301 Moved Permanently", mais le chemin de la page est transformé en chemin canonique, puis l'entête est changée en "HTTP/1.1 404 Not Found". Normal, puisque le chemin n'est pas correcte.

Exemple du retour de l'entête HTTP :
HTTP/1.1 301 Moved Permanently
Date: Sun, 03 May 2009 12:47:15 GMT
Server: Apache
Location: http://www.mon-site.fr/var/www/virtual/mon-site.fr/htdocs/airsoft-magazine-le-magazine-web-de-l-airsoft
Content-Length: 327
Connection: close
Content-Type: text/html; charset=iso-8859-1

HTTP/1.1 404 Not Found
Date: Sun, 03 May 2009 12:47:15 GMT
Server: Apache
X-Powered-By: PHP/5.2.4-2ubuntu5.5
Connection: close
Content-Type: text/html

Voici ce que j'ai inscrit dans le fichier htaccess :
Options +FollowSymLinks
RewriteEngine on
# Règles pour les liens vers la page index.php
RewriteRule ^index\.php$ airsoft-magazine-le-magazine-web-de-l-airsoft [R=301] [L]
RewriteRule ^airsoft-magazine-le-magazine-web-de-l-airsoft$ index.php [L]
#

Merci de m'aider si vous avez une solution.

Cordialement

Rémi.
 
WRInaute impliqué
Pourquoi ne pas faire plus simple avec PHP ?
Dans l'entête de ta page tu vérifie que l'url attendue est bien : airsoft-magazine-le-magazine-web-de-l-airsoft
Si c'est pas le cas hop 301 vers celle-ci, sinon tu affiche ta page

Code:
	$url_attendue="/airsoft-magazine-le-magazine-web-de-l-airsoft"; 
	if ( $_SERVER['REQUEST_URI'] != $url_attendue ) {
		header("Status: 301 Moved Permanently", false, 301);
		header("Location: http://www.mon-site.fr".$url_attendue);
		exit();
	}
 
Nouveau WRInaute
Merci pour la réponse. Hélas la solution ne fonctionne pas.
J'ai un retour d'erreur 500.
Peut-être est-ce un problème lié à la configuration du serveur qui m'héberge ?
Je vais creuser cette piste.
Mais si d'autres ont des suggestions, n'hésitez pas.

Merci encore darkjukka.
 
WRInaute impliqué
Un retour 500 avec ce code dans ta page index.php ? Ya un soucis oui car au pire si tu fait une faute de frappe la page ne s'exécute pas donc c'est bizarre ...
 
WRInaute impliqué
Erreur 500 : tu vois avec l'hébergeur. :mrgreen: J'en ai eu plein après migration de l'hébergement sur un nouveau cluster chez mon héber :roll: :twisted: geur!!!
 
Discussions similaires
Haut