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 :

[.htaccess] Pourquoi cette redirection ne marche pas ?


Sujet :

Apache

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    aaaaa
    Inscrit en
    Novembre 2006
    Messages
    178
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : aaaaa

    Informations forums :
    Inscription : Novembre 2006
    Messages : 178
    Par défaut [.htaccess] Pourquoi cette redirection ne marche pas ?
    Bonjour,

    J'ai écrit une redirection assez simplement dans le .htaccess d'un projet :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    RewriteEngine on
     
    RewriteCond $1 !^(index\.php|images|flash|css|descriptors|js|videos|robots\.txt)
    RewriteRule ^(.*)$ /index.php/$1 [L]
    En effet je travaille avec CodeIgniter et je voudrais que ce soit la page /mon_projet/index.php/homepage qui soit appelée quand on tape /mon_projet/homepage dans la barre d'adresse.

    Mais quand je tape http://localhost/mon_projet/homepage dans la barre d'adresses, j'obtiens une erreur 404,alors que ça marche avec http://localhost/mon_projet/index.php/homepage

    Je précise que si j'écris :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RewriteRule ^(.*)$ http://google.fr [L]
    à la dernière ligne, la redirection fonctionne bien.

    Alors, d'où vient le problème ?

    Merci pour votre aide.

  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
    Tu peux donner le .htaccess complet ? Je ne comprends pas le RewriteCond que tu donnes (le $1 en premier membre) et je ne comprends pas la différence entre les 2 RewriteRules (je ne vois pas pourquoi le second RewriteRule fonctionnerait et pas le premier).

  3. #3
    Membre confirmé
    Profil pro
    aaaaa
    Inscrit en
    Novembre 2006
    Messages
    178
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : aaaaa

    Informations forums :
    Inscription : Novembre 2006
    Messages : 178
    Par défaut
    C'est le .htaccess complet que j'ai donné.

    La ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RewriteRule ^(.*)$ /index.php/$1 [L]
    signifie que si on donne http://localhost/mon_projet/n_importe_quelle_page dans la barre d'adresse, il faut rediriger vers http://localhost/mon_projet/index.ph...te_quelle_page .

  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
    Par défaut
    Le .htaccess se trouve dans le répertoire mon_projet ? Si oui, il faut retirer le / devant index.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RewriteRule ^(.*)$ index.php/$1 [L]
    car /index.php fait reconstruire l'URL depuis la racine du site : http://site.com/index.php/homepage.

    Après, j'ai toujours un doute sur le RewriteCond : pour moi, on ne peut pas utiliser $1 dans le RewriteCond, mais je peux me tromper.

  5. #5
    Membre confirmé
    Profil pro
    aaaaa
    Inscrit en
    Novembre 2006
    Messages
    178
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : aaaaa

    Informations forums :
    Inscription : Novembre 2006
    Messages : 178
    Par défaut
    Merci pour ta suggestion... Malheureusement le problème reste le même. En plus, j'ai des potes qui travaillent sur le même projet, et pour eux la redirection avec l'utilisation de $1 marche sans problème

  6. #6
    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
    Essaie ce .htaccess :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Options -MultiViews
     
    RewriteEngine on
     
    RewriteCond %{REQUEST_FILENAME} !^(index\.php|images|flash|css|descriptors|js|videos|robots\.txt)
    RewriteRule ^(.*)$ index.php/$1 [L]
    à mettre dans le répertoire mon_projet (à cause du / que j'ai retiré devant index.php).

Discussions similaires

  1. pourquoi cette fonction ne marche pas?
    Par kazannova dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 16/04/2008, 01h59
  2. Problem variable (Cette ligne ne marche pas sous FF)
    Par Death83 dans le forum Général JavaScript
    Réponses: 12
    Dernier message: 08/09/2005, 17h52
  3. Redirection 404 marche pas en local
    Par le mage tophinus dans le forum Apache
    Réponses: 8
    Dernier message: 10/06/2005, 08h12
  4. [BCB5][FB1.5]Pourquoi cette commande ne fonctionne pas ?
    Par Sitting Bull dans le forum Débuter
    Réponses: 1
    Dernier message: 17/11/2004, 16h27
  5. Pourquoi ce trigger ne marche pas ??
    Par Le Basque dans le forum Développement
    Réponses: 4
    Dernier message: 20/09/2004, 15h46

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