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, URL Rewriting et Codeigniter


Sujet :

Apache

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2012
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2012
    Messages : 11
    Points : 10
    Points
    10
    Par défaut htaccess, URL Rewriting et Codeigniter
    Bonjour a tous,

    après de trop nombreuse heure (a apprendre plutôt que trouver ma solution) je n'arrive toujours pas a réécrire une url avec paramètre sous Codeigniter ou avec htaccess.

    j'essaie simplement de transformer l'adresse :
    "http://localhost/monsite/film/index.htm?id={id}"
    en
    "http://localhost/monsite/film-{id}.htm"

    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
     
    #Fichier .htaccess : /
    #   Empêche la visualisation de l'arborescence.
    Options -Indexes
     
    #   Active le module de réécriture d'URL.
    RewriteEngine on
    RewriteBase /monsite/
     
     
    #MARCHE
    #   Fixe les régles de réécriture d'URL. Ici, nous utilisons une liste blanche.
    RewriteCond %{REQUEST_URI} !^(css|img|js)/
    RewriteRule ^(css|img|js)/(.*)$ application/views/$1/$2 [L]
     
    #MARCHE
    RewriteCond %{REQUEST_URI} !^cache/
    RewriteRule ^cache/(.*)$ application/views/frontend/cache/$1 [L]
     
    #NE MARCHE PAS
    RewriteRule film-([0-9]+)\.htm$ index.php/film/index.htm?id=$1 [L]
     
    #MARCHE
    #   Toutes les URL qui ne correspondent pas à ces masques sont réécrites.
    #   Toutes les autres URL vont être redirigées vers le fichier index.php.
    RewriteCond $1 !^(index\.php|assets/|css|img|js|robots\.txt)/
    RewriteRule ^(.*)$ index.php/$1 [L]
    si je me rend sur l'adresse "http://localhost/monsite/film-1.htm" j ai la page 404 de CodeIgniter
    mais si je me rend a l'adresse "http://localhost/monsite/film/index.htm?id=1" j'ai bien ma page

    J'ai aussi essayer avec la config de route.php de codeIgniter sans plus de succès

    donc si quelque a une idée je suis preneur

    Merci

  2. #2
    Membre habitué
    Inscrit en
    Mai 2008
    Messages
    317
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 317
    Points : 135
    Points
    135
    Par défaut
    Essaye ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RewriteRule film-([0-9]+)\.htm$ /film/index.php?id=$1 [L]
    Je pense que ta condition est bonne (film-([0-9]+)\.htm$)
    mais que tu redirige simplement vers une mauvaise page

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2012
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2012
    Messages : 11
    Points : 10
    Points
    10
    Par défaut
    Bonsoir,

    je tiens deja a te remercier de m avoir répondu et désoler d'avoir mis si lgt a te répondre.

    j ai essayer ta solution et j ai le droit a un jolie

    Not Found
    The requested URL /film/index.php was not found on this server.

    du surement que je suis sous codeigniter et avec le flat L il n'applique pas la dernier règle.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RewriteRule ^(.*)$ index.php/$1 [L]
    et si je l enleve ja i le droit a la même page que ma règle :
    404 Page Not Found
    la page 404 par défaut de codeigniter

    Donc j ai toujours le même problème que j ai abandonné pour l instant car d'autre occupation (l'upnp) me prend tout mon temps

    Donc si tu a une autre solution je suis preneur

    encore merci

  4. #4
    Membre habitué
    Inscrit en
    Mai 2008
    Messages
    317
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 317
    Points : 135
    Points
    135
    Par défaut
    Hmm, alors j'avoue que je ne connais absolument pas la façon de faire de codeigniter,
    j'ai d'ailleurs un dent envers les frameworks, justement par-ce qu'on ne sait pas vraiment ce qu'on fait au final ^^

    Bref, on s'en fou :p

    dans ton cas, si "http://localhost/monsite/film/index.htm?id=1" fonctionne, essaye peut être avec ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RewriteRule film-([0-9]+)\.htm$ /film/index.htm?id=$1 [L]
    Sinon, si tu tu essaye d'aller a cette adresse, ça te donne quoi ?:
    "http://localhost/monsite/index.php/film/index.htm?id=1"

  5. #5
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2012
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2012
    Messages : 11
    Points : 10
    Points
    10
    Par défaut
    J'avoue que je ne suis pas fan aussi des framework mais codeigniter évite de gérer certaine faille de sécurité, POO sur la BD, surtout gestion simple de la vérification des formulaires et plien de petite chose sans d encombrer.
    mais j'avoue j'aurai plus de temps et un peu plus d'expérience dans la création de projet plus grand que ceux de la fac j'aurai tout fais de A à Z

    mais comme tu dis bref.

    ta solution ne marche pas non plus.

    et oui l'adresse passe aussi et je vois ou tu veux en venir mais

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RewriteRule film-([0-9]+)\.htm$ index.php/film/index.htm?id=$1 [L]
    ne passe pas non plus il dois avoir un truc avec codeigniter mais je ne comprend pas pourquoi si l'adresse passe pourquoi pas sa redirection vers celle ci

  6. #6
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2012
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2012
    Messages : 11
    Points : 10
    Points
    10
    Par défaut
    bonjour

    j ai trouver la solution a mon problème grâce aux route(sa sert a faire du url rewriting) de codeigniter
    on m a aidez a en faire une qui marcher sur un autre forum

    merci de m'avoir aider

    a+

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. HTaccess URL Rewriting
    Par yonialhadeff dans le forum Apache
    Réponses: 1
    Dernier message: 01/09/2008, 14h51
  2. [Htaccess] URL rewriting
    Par Neuromancien2 dans le forum Apache
    Réponses: 17
    Dernier message: 29/08/2008, 10h35
  3. Si vous avez des questions sur Apache, HTAccess, URL rewriting avec Apache, etc
    Par Marc Lussac dans le forum Général Conception Web
    Réponses: 1
    Dernier message: 28/08/2007, 20h09
  4. [HTAccess] URL rewriting
    Par actarus44 dans le forum Apache
    Réponses: 4
    Dernier message: 13/07/2005, 12h41
  5. .htaccess - url rewriting, besoin de conseils
    Par giminik dans le forum Apache
    Réponses: 2
    Dernier message: 25/04/2005, 21h18

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