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

MVC PHP Discussion :

url rewriting - htaccess


Sujet :

MVC PHP

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 26
    Points : 28
    Points
    28
    Par défaut url rewriting - htaccess
    Salut les développeurs!

    Voilà, j'me met à ZF, et là j'ai quelques soucis avec mon htaccess.
    J'ai bien activé le mod_rewrite d'apache et mis AllowOverride à All.

    Alors j'ai essayé ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    RewriteEngine on
    RewriteRule !\.(js|ico|gif|jpg|png|css)$ index.php
    et ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} -s [OR]
    RewriteCond %{REQUEST_FILENAME} -l [OR]
    RewriteCond %{REQUEST_FILENAME} -d
    RewriteRule ^.*$ - [NC,L]
    RewriteRule ^.*$ /index.php [NC,L]
    Sur ma page d'accueil (index/index), j'ai 2 formulaires.
    L'un a pour action : 'index/register', l'autre, 'index/newsletter'.
    Le problème, c'est que si je poste le formulaire 5 fois je me retrouve avec : "http://127.0.0.1/monSite/public/index/register/index/register/index/register/index/register/" dans la barre d'adresse...

    Des idées?

  2. #2
    Membre expert
    Avatar de Eusebe
    Inscrit en
    Mars 2006
    Messages
    1 992
    Détails du profil
    Informations personnelles :
    Âge : 46

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 992
    Points : 3 344
    Points
    3 344
    Par défaut
    Bonjour,

    Ce n'est pas un problème de htacces, mais de lien dans ton formulaire

    Il faut éviter les liens relatifs dans tes pages. Pour ça, plusieurs solutions :
    - la balise <base> ;
    - une aide de vue baseUrl ;
    - le mieux, l'aide de vue Url...

    Si tu n'utilises pas une de ces méthodes, quand tu indiques à ton navigateur que tu dois aller à l'adresse 'index/register' alors que tu es sur la page 'http://127.0.0.1/monSite/public/index/register', il va simplement ajouter ça au chemin actuel, ce qui donne 'http://127.0.0.1/monSite/public/index/register/index/register'...

  3. #3
    Membre expert
    Avatar de s.n.a.f.u
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2006
    Messages
    2 760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2006
    Messages : 2 760
    Points : 3 545
    Points
    3 545
    Par défaut
    Citation Envoyé par Eusebe Voir le message
    Bonjour,

    Ce n'est pas un problème de htacces, mais de lien dans ton formulaire

    Il faut éviter les liens relatifs dans tes pages. Pour ça, plusieurs solutions :
    - la balise <base> ;
    - une aide de vue baseUrl ;
    - le mieux, l'aide de vue Url...

    Si tu n'utilises pas une de ces méthodes, quand tu indiques à ton navigateur que tu dois aller à l'adresse 'index/register' alors que tu es sur la page 'http://127.0.0.1/monSite/public/index/register', il va simplement ajouter ça au chemin actuel, ce qui donne 'http://127.0.0.1/monSite/public/index/register/index/register'...
    J'ai moi aussi des problèmes de liens relatifs sur un site test pour la version 1.8. Et je suis perdu.
    Si je suis sur une url du style http://monsite.fr/controller/action/ et que je veux placer un lien "retour à l'accueil" pointant vers l'url http://monsite.fr, quelle solution dois-je adopter ?
    Si j'utilise le helper url() , je devrais faire quelque chose de ce style
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php echo $this->url().'/../..';?>
    et je trouve cela horrible ! De plus, c'est un peu trop dépendant de l'architecture du site.
    Comment procéder plus proprement ?
    N'y a-t-il pas un helper ou autre du genre baseUrl() qui me renverrai sur l'url de base du site ?

  4. #4
    Membre expert
    Avatar de s.n.a.f.u
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2006
    Messages
    2 760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2006
    Messages : 2 760
    Points : 3 545
    Points
    3 545
    Par défaut
    Je viens de trouver une solution, qu'en pensez-vous :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php echo $this->url(array('controller'=>'', 'action'=>''));?>
    Ceci donne un lien avec un controller vide et une action vide, donc typiquement la racine du site.

  5. #5
    Membre expert
    Avatar de Eusebe
    Inscrit en
    Mars 2006
    Messages
    1 992
    Détails du profil
    Informations personnelles :
    Âge : 46

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 992
    Points : 3 344
    Points
    3 344
    Par défaut
    Citation Envoyé par jml94 Voir le message
    Je viens de trouver une solution, qu'en pensez-vous :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php echo $this->url(array('controller'=>'', 'action'=>''));?>
    Ceci donne un lien avec un controller vide et une action vide, donc typiquement la racine du site.
    Oui, c'est une bonne solution.

    Tu peux aussi faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $this->url( array(), null, true);
    Le troisième paramètre à true permet de ne pas prendre en compte le contexte actuel.

Discussions similaires

  1. Réponses: 3
    Dernier message: 09/03/2009, 12h34
  2. Erreur bizarre url rewriting .htaccess
    Par tsukasag dans le forum Apache
    Réponses: 1
    Dernier message: 31/08/2008, 11h02
  3. [URL Rewriting] htaccess et quelques infos
    Par jfrsm dans le forum Apache
    Réponses: 1
    Dernier message: 27/10/2007, 05h08
  4. URL Rewriting .htaccess
    Par calitom dans le forum Apache
    Réponses: 7
    Dernier message: 06/01/2007, 12h42
  5. Url Rewriting / htaccess
    Par bisi dans le forum Apache
    Réponses: 4
    Dernier message: 25/07/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