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

Zend Framework PHP Discussion :

Conseils pour améliorer mon .htaccess


Sujet :

Zend Framework PHP

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2008
    Messages : 71
    Points : 76
    Points
    76
    Par défaut Conseils pour améliorer mon .htaccess
    Bonjour a tous!

    J'ai le Htaccess de mon site qui marche trés bien et tout mais je suis sure que j'utilise des trucs idiots et qu'il y a plus rapide....

    Donc j'ai commenter mes lignes pour montrer ce que ca fait, si vous pouviez critiquer ca et me donner des idées pour ameliorer ca ce serait vraiment bien!

    Par defaut tout passe par l avant derniere ligne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
     
    RewriteEngine on
    // les URL correspondant au fichier dans le repertoire test sont lu normalement, pas d'url rewriting pour eux
    RewriteRule ^test/(.*)$ test/$1
     
    # uniquement si ce n est pas dans le repertoire test
    RewriteCond %{REQUEST_URI} !^/([a-zA-Z]+)/(test)/(.*)$
    # charge les CSS avec une URL du genre 
    #         http://localhost/SITE/css/INDEX.css 
    # donc           ^([a-zA-Z]+)/css/(.*)$
    # avec le fichier site/SITE/css/INDEX.css
    # donc               site/$1/css/$2 
    RewriteRule ^([a-zA-Z]+)/css/(.*)$ site/$1/css/$2 
     
    # idem que les css mais pour javascript
    RewriteCond %{REQUEST_URI} !^/([a-zA-Z]+)/(test)/(.*)$
    RewriteCond %{REQUEST_URI} !^/(framework/js)/(.*)$
    RewriteRule ^([a-zA-Z]+)/js/(.*)$ site/$1/framework/js/$2
     
    # idem mais pour fichier ou js dans le dossier framework
    RewriteCond %{REQUEST_URI} !^/([a-zA-Z]+)/(test)/(.*)$
    RewriteRule ^([a-zA-Z]+)/file/(.*)$ file/$1/$2 
    RewriteRule ^js/(.*)$ framework/js/$1 
     
    # dqns tous les autres cas 
    RewriteCond %{REQUEST_URI} !^/([a-zA-Z]+)/(css)|(site)|(file)|(js)|(test)/(.*)$
    # on charge simplement les url http://localhost/SITE/controller/action/etc...
    # dans le fichier SITE.php/leReste, SITE.php etant un bootstrap different
    RewriteRule ^([a-zA-Z]+)/(.*)$ $1.php/$2
     
    # renvoyer les url non preciser sur le site public
    RewriteRule ^$ /public/
    Ca me parait complexe pour pas grand chose ...
    Au cas ou vous inquietez pas du fait que j ai plusieurs bootstrap... c'etait pas une grande idée et faut que je change ca et que je passe aux modules^^

    merci d'avance!

  2. #2
    Membre actif
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    178
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 178
    Points : 230
    Points
    230
    Par défaut
    Hello,

    http://httpd.apache.org/docs/2.0/mod/mod_rewrite.html

    Tu peux mettre des flags après tes règles, notamment pour dire à mod_rewrite que tu veux arrêter le traitement, [L] ou [PT] suivant que tu retraite les urls avec autre chose que rewrite.

    RewriteRule ^test/(.*)$ test/$1 [L]

    par exemple t'évitera de passer ton temps à donner des conditions :

    RewriteCond %{REQUEST_URI} !^/([a-zA-Z]+)/(test)/(.*)$

    Avec la même méthode, cela t'évite d'empiler les conditions négatives après chaque cond positive

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2008
    Messages : 71
    Points : 76
    Points
    76
    Par défaut
    Merci pour ta reponse!

    Le probleme c'est que les L ca arrete la lecture du htaccess mais qu ensuite il prend le nouveau url qu il a et il reparcourt le htaccess avec ...
    EDIT : j'ai rever ou pas ??? j'ai lu ca quelquepart mais je retrouve pas ou ...


    du coup ca me recasse tout ...

    j'ai remplacer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    RewriteCond %{REQUEST_URI} !^/([a-zA-Z]+)/(test)/(.*)$
    RewriteRule ^([a-zA-Z]+)/css/(.*)$ site/$1/css/$2
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    RewriteRule ^([a-zA-Z]+)/css/(.*)$ site/$1/css/$2 [L]
    et malheuresement il passe dans l'avant derniere ligne et fait comme si c t un controller ...

    Ya pas un moyen d'eviter qu'il fasse ca? y a pas quelqu'un qui aurait a la limite un vrai tutorial la dessus, quelquechose de clair ...

    parce que en fait la j ai tendance a avoir des probleme si par malheur g un repertoire appeler genre css js ou autre ...

Discussions similaires

  1. [CV] Avis pour améliorer mon cv
    Par lapanne dans le forum CV
    Réponses: 7
    Dernier message: 17/10/2007, 15h04
  2. Conseil pour réduire mon code
    Par Triwis dans le forum Windows Forms
    Réponses: 7
    Dernier message: 17/08/2007, 16h17
  3. recherche code pour améliorer mon site
    Par ALTINEA dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 07/08/2007, 18h05
  4. Réponses: 8
    Dernier message: 26/11/2006, 14h16
  5. Cherche conseil pour choisir mon orientation.
    Par AslDice dans le forum Débuter
    Réponses: 6
    Dernier message: 24/04/2003, 17h07

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