IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Apache Discussion :

[URL rewriting] Ajouter un Catch-all


Sujet :

Apache

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    126
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 126
    Par défaut [URL rewriting] Ajouter un Catch-all
    Bonjour,

    Sur mon site j'ai quelques pages principales (une dizaine) qui correspondent à des fichiers PHP sur le serveur.

    J'ai mis en place l'URL rewriting pour ces quelques pages, de manière à ce qu'on y accède via des URL de ce type :
    http://domaine/voiture
    http://domaine/machin-truc

    Voici la structure des fichiers sur le serveur :
    • .htaccess
    • wp-index.php
    • index.php
    • pages
      • voiture.php
      • camion.php
    • images
      • photo.jpg
      • schema.png


    Et le contenu de mon .htaccess :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    RewriteEngine on
    RewriteBase /
     
    # Rewrite des URL style /voiture-rapide vers le fichier PHP dédié
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^([a-zA-Z0-9_-]+)$ pages/$1.php [L]
    Maintenant, je voudrais y ajouter un catch all, c'est à dire que toutes les URL qui correspondent à mon pattern [a-zA-Z0-9_-]+ vont être réécrites vers wp-index.php si et seulement si le fichier PHP correspondant à la requête n'existe pas dans /pages/.

    Au final, ça devrait faire ça :


    Pour ça j'ai ajouté une nouvelle règle à la fin de mon .htaccess :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    # Rewrite du reste des URL vers wp-index.php (catch all)
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /wp-index.php [L]
    Ça fonctionne mais j'ai un doute, parfois mon navigateur (Firefox) indique un message d'erreur style redirections infinies...

    Je souhaiterais avoir votre avis, est-ce qu'il y a une meilleure solution ?

    Merci

  2. #2
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Par défaut
    A priori, c'est la bonne méthode. Ce qu'il faut c'est installer un plug-in dans Firefox du style Live Http Headers pour voir qu'elle est la redirection qui pose problème. Il s'agit peut-être juste d'ajouter un /? à la fin d'une RewriteRule ou un truc du genre, rien de bien grave.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    126
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 126
    Par défaut
    Merci d'avoir répondu.

    J'ai déjà ce plugin (live http headers), mais je n'arrive pas à reproduire l'erreur.
    Donc ça doit être bon...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [URL rewriting] Ajouter des paramètres d'URL
    Par adeltimple dans le forum Apache
    Réponses: 1
    Dernier message: 25/12/2010, 00h45
  2. [URL Rewriting] Ajout d'un paramètre
    Par Pierre Deruel dans le forum Apache
    Réponses: 1
    Dernier message: 13/07/2010, 18h25
  3. [PHP 5.0] url rewrite ajouter une règle
    Par _bender_ dans le forum Langage
    Réponses: 2
    Dernier message: 19/01/2009, 17h11
  4. URL REWRITING : ajout de nouvelle page
    Par van-bom dans le forum Apache
    Réponses: 1
    Dernier message: 19/10/2008, 00h22
  5. [URL Rewriting] Ajout d'un répertoire
    Par anti-pixel dans le forum Apache
    Réponses: 5
    Dernier message: 27/04/2008, 13h16

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo