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 :

Confusion en .html rewrité et .html existant


Sujet :

Apache

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Profil pro
    Webmaster
    Inscrit en
    Juin 2006
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Juin 2006
    Messages : 5
    Par défaut Confusion en .html rewrité et .html existant
    Bonjour,

    J'ai un petit soucis que je n'arrive pas à comprendre.
    Suite à la demande d'une société de référencement, je rewrite toutes les URL du site dont je m'occupe avec l'extension .html.
    Mais dernièrement ils m'ont demandé d'ajouter des pages .html statiques sur le serveur. Et bizarrement Apache ne trouve pas ces pages sur le serveur et me renvoie une erreur 404 lorsque j'essaye d'y accéder. Je me doute donc que ma RewriteRule qui redirige les .html vers mon controller index.php pose problème mais je ne comprend pas pourquoi.
    J'ai pourtant bien une condition qui indique que les fichiers existants ne doivent pas être réecrit.
    Quelqu'un peut-il jeter un coup d'oeil au problème ? Merci d'avance. Voici mon .htaccess :

    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
     
    <IfModule mod_rewrite.c>
     
    ############################################
    ## enable rewrites
     
        Options +FollowSymLinks
        RewriteEngine on
     
    ############################################
    ## add www to the url
     
        RewriteCond %{HTTP_HOST} ^domain.ltd$
        RewriteRule ^(.*) http://www.domain.ltd/$1 [R=301,L]
     
    ############################################
    ## never rewrite for existing files, directories and links
     
        RewriteCond %{REQUEST_FILENAME} !-d
        RewriteCond %{REQUEST_FILENAME} !-l
        RewriteCond %{REQUEST_FILENAME} !-f
     
    ############################################
    ## rewrite everything else to index.php
     
        RewriteRule ^(.*).html$ index.php?/$1 [L]
     
    </IfModule>

  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
    Ca m'a l'air correct mais d'après les exemples de la doc Apache, il semblerait nécessaire d'ajouter le répertoire du document root devant les %{REQUEST_FILENAME} :
    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
    <IfModule mod_rewrite.c>
    
    ############################################
    ## enable rewrites
    
        Options +FollowSymLinks
        RewriteEngine on
    
    ############################################
    ## add www to the url
    
        RewriteCond %{HTTP_HOST} ^domain.ltd$
        RewriteRule ^(.*) http://www.domain.ltd/$1 [R=301,L]
    
    ############################################
    ## never rewrite for existing files, directories and links
        
        RewriteCond /path/to/document_root/%{REQUEST_FILENAME} !-d
        RewriteCond /path/to/document_root/%{REQUEST_FILENAME} !-l
        RewriteCond /path/to/document_root/%{REQUEST_FILENAME} !-f
    
    ############################################
    ## rewrite everything else to index.php
    
        RewriteRule ^(.*).html$ index.php?/$1 [L]
    
    </IfModule>

Discussions similaires

  1. Réponses: 5
    Dernier message: 26/02/2010, 23h37
  2. Réponses: 4
    Dernier message: 17/04/2007, 17h34
  3. Regex : création de lien html s'il n'existe pas
    Par GregPeck dans le forum Langage
    Réponses: 3
    Dernier message: 22/11/2005, 00h21
  4. [Struts]HTML:FORM ET HTML:HIDDEN
    Par zurich dans le forum Struts 1
    Réponses: 6
    Dernier message: 07/02/2005, 23h30
  5. [XSLT] [XML->HTML] transformation XML -> HTML via XSL
    Par Great Sayaman dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 11/12/2004, 22h12

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