Problème de redirection 301 dans fichier htacces

Discussion dans 'Netlinking, backlinks, liens et redirections' créé par remi.G, 3 Mai 2009.

  1. remi.G
    remi.G Nouveau WRInaute
    Inscrit:
    9 Août 2007
    Messages:
    9
    J'aime reçus:
    0
    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.
     
  2. darkjukka
    darkjukka WRInaute impliqué
    Inscrit:
    28 Avril 2007
    Messages:
    670
    J'aime reçus:
    0
    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();
    	}
     
  3. remi.G
    remi.G Nouveau WRInaute
    Inscrit:
    9 Août 2007
    Messages:
    9
    J'aime reçus:
    0
    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.
     
  4. darkjukka
    darkjukka WRInaute impliqué
    Inscrit:
    28 Avril 2007
    Messages:
    670
    J'aime reçus:
    0
    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 ...
     
  5. Bellegarde-webb
    Bellegarde-webb WRInaute passionné
    Inscrit:
    12 Juillet 2006
    Messages:
    1 296
    J'aime reçus:
    0
    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!!!