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 "perso" : es-ce que le principe est bon ?


Sujet :

Apache

  1. #1
    Membre du Club
    Homme Profil pro
    Inscrit en
    Octobre 2009
    Messages
    117
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Octobre 2009
    Messages : 117
    Points : 67
    Points
    67
    Par défaut URL Rewriting "perso" : es-ce que le principe est bon ?
    Bonsoir,

    Je développe actuellement un petit site perso, et je souhaiterai mettre en place un système d'url rewriting. Je vais héberger mon site sur un serveur Free, donc à moins que cela ai changé, le système d'url rewriting normale est désactivé et il faut donc passer par un système perso.

    J'ai vu beaucoup de tuto se servant de l'erreur 404 avec fichier htaccess, renvoyant vers un 404.php, qui traitait l'url et faisait une redirection vers une autre page en ayant pris soin de passer le header à 200 OK. Mais par soucis d'esthétisme on va dire, on part d'une url toute belle pour arriver à une url du style "index.php?param=1&param2=2" toute moche et cela me plaît moyennement.

    C'est peut-être juste du détail, mais je voulais reprendre ce principe cad utiliser l'erreur 404 renvoyant vers mon index.php, traiter l'url (en BDD ou autre je ne sais pas encore), renseigner les variables nécessaire (page à inclure, titre de la page, etc), passer le header à 200 OK et inclure ma page afin de conserver une url du style "www.test.fr/mondossier/mapage.html".

    Sur le fonctionnement je ne pense pas avoir de soucis, mais es-ce que sur le principe cela peut poser des problèmes du style page toujours considérer en erreur 404, problème de référencement, temps de chargement trop long ?

    Merci d'avance pour vos conseils.

  2. #2
    Expert éminent
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Points : 7 762
    Points
    7 762
    Par défaut
    Hello

    Une erreur 404 est une erreur 404, il ne faut pas la passer en 200, cela ne t'empêche pas d'utiliser ta propre page pour l'erreur.
    Et tu n'as pas non plus besoin d'URL rewriting pour ça, apache à des règles pour ça. Il te suffit de mettre le code suivant dans un .htaccess et c'est gagné:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ErrorDocument 404 /404page.html
    (remplace /404page.html par une URL de ton site comme par exemple /index.php?rt=error404)

  3. #3
    Membre du Club
    Homme Profil pro
    Inscrit en
    Octobre 2009
    Messages
    117
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Octobre 2009
    Messages : 117
    Points : 67
    Points
    67
    Par défaut
    Merci pour ta réponse, mais je ne cherche pas à gérer les erreurs 404.

    Mon site fonctionne de la manière suivante:

    un fichier inc.template.php qui contient le code global à toutes les pages (header, body, etc...) et qui utilise plusieurs variables qui servent à afficher le titre, la description de la page, le contenu à inclure, etc.
    Plusieurs fichiers du style inc.quelquechose.php qui correspond au contenu de chacune de mes pages.
    Avec ce principe, je n'utilise qu'un seul fichier index.php dans lequel je renseigne l'ensemble des variables utile à inc.template.php, et j'inclue ce même fichier.

    Mais voilà, l'accès aux pages se ferait pour l'instant avec une url du style "www.test.fr/index.php?param1=1&param2=2&param3=3". Donc pas très esthétique et bof côté référencement. C'est pour cela que je veux faire de l'url rewriting, pour avoir des pages du style "www.test.fr/mondossier/mapage.html".

    Mais comme j'héberge chez Free, l'url rewriting classique n'est pas géré. C'est pour cela que je veux passer par un système perso.

    Donc je cherche à savoir si le principe suivant ne poserait pas de problème :

    On saisie une url du style "www.test.fr/mondossier/mapage.html"
    Comme cette url n'existe pas, au lieu d'afficher l'erreur 404 par défaut d'apache, un fichier htaccess redirige vers mon index.php.
    Dans ce fichier, je récupère l'url et gère mon truc afin de trouver la page à inclure et pouvoir renseigner les diverses variables.
    Si la page est trouvée, je renseigne tout ça et passe le header à 200 OK, sinon je renseigne tout de même les variables mais pour inclure une page 404,
    Dans tous les cas, j'inclue au final mon inc.template.php qui affichera le résultat final.

    L'histoire de passer le header à 200 OK, c'est que si la page que je souhaite insérer existe, les moteurs de recherches puissent la considérer comme une "bonne page" et non une erreur (car comme l'url de base n'existe pas). Et si je ne fais pas de redirection par la suite comme dans la plupart des tuto, c'est pour garder ma "belle" url.

    Es-ce que cela peux poser des problèmes au niveau référencement, performance, etc ?

    Merci par avance.

Discussions similaires

  1. Réponses: 8
    Dernier message: 28/10/2010, 11h11
  2. Réponses: 3
    Dernier message: 17/06/2010, 19h40
  3. Réponses: 9
    Dernier message: 07/08/2009, 09h53

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