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 :

Mon .htaccess n'est-il pas ridicule ?


Sujet :

Apache

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    118
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 118
    Points : 44
    Points
    44
    Par défaut Mon .htaccess n'est-il pas ridicule ?
    J'utilise pour mon serveur de production le fichier .htaccess suivant placé à la racine de mon site. N'y-a-t il pas plus simple ?
    Vous l'aurez compris, je suis loin de maitriser !

    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
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    DirectoryIndex index.php
     
    # Active les options:
    # FollowSymLinks permet de suivre les liens symboliques.
    # Indexes autorise le listage de fichiers d'un répertoire qui ne contient pas d'index.
    Options +Indexes +FollowSymLinks +MultiViews
     
    # Droits refusés à tous sauf réseau local:
    Order Deny,Allow
    Deny from All
    Allow from 192.168.1.0/24
     
    # Affichage des erreurs:
    php_value display_errors on
     
    # Réécriture des Urls:
    RewriteEngine On 
     
    #################### Messages d'erreur #################################
     
    # 401 Unauthorized : la personne n'a pas passé avec succès l'identification.
    ErrorDocument 401 /index.php?page=erreur&message=401&link=$2
     
    # 403 Forbidden : le serveur n'a pas le droit de répondre à votre requête.
    ErrorDocument 403 /index.php?page=erreur&message=403&link=$2
     
    # 404 Not Found : le serveur n'a pas trouvé le document souhaité.
    ErrorDocument 404 /index.php?page=erreur&message=404&link=$2
     
     
     
    ################# Réécriture de URL #################################### 
    #
    # récupere les variables que ce soit en _POST ou _GET !
    #
    ########################################################################
     
    ### Pages ..............................................................
    RewriteRule ^([a-z]+)/$ index.php?page=$1 [L]
     
     
    ### Erreur ..............................................................
    RewriteRule ^erreur/([0-9]+)/$ index.php?page=erreur&Num_erreur=$1 [L]
     
     
    ### Page patients  ............................
    RewriteRule ^([a-z]+)/([^/]+)/$ index.php?page=$1&Val=$2 [L]
     
    ### Page fiche  ............................
    RewriteRule ^([a-z]+)/([^/]+)/$ index.php?page=$1&idpat=$2 [L]
     
    ### Page nouveau (+/- choix) ............................
    RewriteRule ^([a-z]+)/([a-z]+)/$ index.php?page=$1&choix=$2 [L]
     
    ### Page consultations .................................................
    RewriteRule ^([a-z]+)/([0-9])/([0-9]+)/([0-9]+)/$ index.php?page=$1&idmed=$2&idpat=$3&idcons=$4 [L]
     
    ### Page annuaire (+/- choix) ............................
    RewriteRule ^([a-z]+)/([^/]+)/$ index.php?page=$1&Val=$2 [L]
    RewriteRule ^([a-z]+)/([a-z]+)/([^/]+)/$ index.php?page=$1&ChoixTab=$2&Val=$3 [L]
    RewriteRule ^([a-z]+)/([a-z]+)/([^/]+)/([^/]+)/$ index.php?page=$1&ChoixTab=$2&section=$3&idspe=$4 [L]
     
     
     
    ### Section page Cabinet .................................................
    RewriteRule ^([a-z]+)/([0-9])/([0-9]+)/([0-9]+)/([^/]*)/$ index.php?page=$1&idmed=$2&idpat=$3&idcons=$4&section=$5 [L]
    RewriteRule ^([a-z]+)/([0-9])/([0-9]+)/([0-9]+)/([a-z]+_[a-z]+)/$ index.php?page=$1&idmed=$2&idpat=$3&idcons=$4&file=$5 [L]
    RewriteRule ^([a-z]+)/([0-9])/([0-9]+)/([0-9]+)/([^/]*)/([^/]*)/$ index.php?page=$1&idmed=$2&idpat=$3&idcons=$4&section=$5&file=$6 [L]
     
    # Page Classeurs : ...................................................
    RewriteRule ^([a-z]+)/([^/]*)/([^/]*)/$ index.php?page=$1&section=$2&file=$3 [L]
    #RewriteRule ^([a-z]+)/([^/]*)/([^/]*)/([^/]*)/([^/]*)/$ index.php?page=$1&idmed=$2&idpat=$3&idcons=$4&file=$5 [L]
    RewriteRule ^([a-z]+)/([^/]*)/([^/]*)/([^/]*)/([^/]*)/([^/]*)/$ index.php?page=$1&idmed=$2&idpat=$3&idcons=$4&section=$5&file=$6 [L]
     
    # Ordonnances:
    RewriteRule ^([a-z]+)/([0-9])/([0-9]+)/([0-9]+)/([a-z]+)/([a-z]+)/$ index.php?page=$1&idmed=$2&idpat=$3&idcons=$4&section=$5&ordo=$6 [L]
    RewriteRule ^([a-z]+)/([0-9])/([0-9]+)/([0-9]+)/([a-z]+)/([a-z]+_[a-z]+)/$ index.php?page=$1&idmed=$2&idpat=$3&idcons=$4&section=$5&ordo=$6 [L]
    RewriteRule ^([a-z]+)/([0-9])/([0-9]+)/([0-9]+)/([a-z]+)/([a-z]+_[a-z]+_[a-z]+)/$ index.php?page=$1&idmed=$2&idpat=$3&idcons=$4&section=$5&ordo=$6 [L]
    RewriteRule ^([a-z]+)/([0-9])/([0-9]+)/([0-9]+)/([a-z]+_[a-z]+)/([a-z]+)/$ index.php?page=$1&idmed=$2&idpat=$3&idcons=$4&section=$5&ordo=$6 [L]
    RewriteRule ^([a-z]+)/([0-9])/([0-9]+)/([0-9]+)/([a-z]+_[a-z]+)/([a-z]+_[a-z]+)/$ index.php?page=$1&idmed=$2&idpat=$3&idcons=$4&section=$5&ordo=$6 [L]
    RewriteRule ^([a-z]+)/([0-9])/([0-9]+)/([0-9]+)/([a-z]+_[a-z]+)/([a-z]+_[a-z]+_[a-z]+)/$ index.php?page=$1&idmed=$2&idpat=$3&idcons=$4&section=$5&ordo=$6 [L]
    RewriteRule ^([a-z]+)/([0-9])/([0-9]+)/([0-9]+)/([a-z]+_[a-z]+)/([a-z]+_[a-z]+_[a-z]+)/$ index.php?page=$1&idmed=$2&idpat=$3&idcons=$4&section=$5&ordo=$6&certif=$7 [L]
     
    ### Page new_c/new_v :..........new_c/2/1/ .............................
    RewriteRule ^([a-z]+_[a-z])/([0-9])/([0-9]+)/$ index.php?page=$1&idmed=$2&idpat=$3 [L]
     
     
    ### Page courriers .......................................................
    RewriteRule ^([a-z]*)/([^/]*)/([A-Z]*)/(([0-9]+)*)/(([A-Z]+)*)/([^/]*)/(([0-9]{4})_([0-9]{2})_([0-9]{2})*)/([0-9]*)/$ index.php?page=$1&f=$2&val=$3&idpat=$4&typex=$5&natex=$6&date=$7&nbp=$8 [L]
     
    ### Evitons maintenant que d’autres sites ne fassent un lien direct vers nos images, en nous détournant de la bande passante :
    RewriteCond %{HTTP_REFERER} !^$
    RewriteCond %{HTTP_REFERER} !^https://monsite.org/.*$ [NC]
    ReWriteRule .*\.(gif|png|jpe?g)$ - [F]
     
     
    ### Evite tous les robots ou référentiels :
    RewriteCond %{HTTP_USER_AGENT}   Bot

  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
    Points : 12 977
    Points
    12 977
    Par défaut
    Je ne vois pas pourquoi et comment on pourrait faire plus simple. Le seul truc que je vois ce sont des cas qui ne fonctionnent pas. Par exemple, la règle "Page fiche" n'est jamais activée car la règle précédente "Page patients" a exactement le même filtre et donc est également activée pour les pages fiche. Idem avec la première règle "Ordonnances" qui est "surchargée" par la règle immédiatement précédente.

    Du détail, du détail, du détail !!!
    Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    118
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 118
    Points : 44
    Points
    44
    Par défaut
    Oui, voilà c'est un peu çà... il y a des lignes redondantes et d'autres qui ne sont pas fonctionnelles (ou inutiles), mais j'avais espéré pouvoir remplacer toutes ses lignes par 1 ou plusieurs, mais pas d'innombrables comme c'est le cas actuellement.

    Est-il possible de simplifier le fichier htaccess en écrivant 1 ou plusieurs ligne ?:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RewriteRule ^([a-z]+)/([^/]+)/...etc........$ index.php?a=$1&b=$2....etc... [L]
    Est-il habituel d'avoir un fichier si complexe pour une maitrise des urls ?

  4. #4
    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
    Points : 12 977
    Points
    12 977
    Par défaut
    Je ne sais pas si c'est habituel mais si on ne peut pas faire autrement... Honnêtement, je ne suis pas sûr qu'on puisse simplifier et il y a tellement de règles que je n'ai pas le courage de les vérifier une par une Ce qu'il faut que tu fasses c'est établir des cas de tests : identifier les URL qui doivent fonctionner et les tester une par une. Quand ça ne marche pas, ben on en discute

    Du détail, du détail, du détail !!!
    Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    118
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 118
    Points : 44
    Points
    44
    Par défaut
    Ok, merci.
    Je teste une à une mes entrées... en modifie certaines...
    Mais je suis surtout en train de "refondre le site" en limitant les url inutiles (autrement à chaque click -> une nouvelle url... ce qui n'est pas forcément nécessaire.

    Encore merci

    A suivre.

Discussions similaires

  1. Pourquoi la valeur de mon return n'est-elle pas illégale?
    Par mrTerribleLie dans le forum Débuter
    Réponses: 5
    Dernier message: 17/07/2011, 11h51
  2. Mon site n'est toujours pas référencé : que faire ?
    Par Thanor dans le forum Référencement
    Réponses: 12
    Dernier message: 15/10/2006, 15h28
  3. Mon code n'est pas interprété !
    Par korriganez dans le forum Langage
    Réponses: 3
    Dernier message: 31/05/2006, 15h46
  4. Mon clonage n'est pas correct ?
    Par elitost dans le forum Langage
    Réponses: 6
    Dernier message: 21/03/2006, 14h38
  5. Mon timer n'est pas prioritaire !!
    Par Hectorz dans le forum MFC
    Réponses: 9
    Dernier message: 09/02/2005, 12h57

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