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

EDI, CMS, Outils, Scripts et API PHP Discussion :

[URL Rewriting] ne fonctionne pas avec variable


Sujet :

EDI, CMS, Outils, Scripts et API PHP

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    279
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 279
    Points : 102
    Points
    102
    Par défaut [URL Rewriting] ne fonctionne pas avec variable
    Bonjour,

    Voici la regle que j'ai mise dans mon fichier htacess :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RewriteRule ^Serie-examens-([0-9]+)-([0-9]+)-([a-zA-Z]+)$ examens-list.php?idChapitre=$1&idTitre=$2 [L]
    dans href j'ai cela :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    href="<?php echo 'Serie-examens-'.$idChapitre.'-'.$idTitres[0].'-debuter';?>"
    les variable idChapitre et idTitre sont bien alimenté.

    J'ai cette erreur quand je clique sur le lien :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Not Found
     
    The requested URL /SerieJava/Serie-examens-1-1-debuter was not found on this server.
    Note : SerieJava est le repertoire sous wamp

    Merci de votre aide

  2. #2
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 418
    Points
    91 418
    Billets dans le blog
    20
    Par défaut
    Note : SerieJava est le repertoire sous wamp
    Ce qui signifie donc que la règle commençant par ^Serie-examens- n'est jamais vérifiée, donc tu ne réécris jamais d'URL.
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    279
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 279
    Points : 102
    Points
    102
    Par défaut
    J'ai esseyé de modifié la regle par :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    ^/SerieJava/....
     
    et 
     
    ^SerieJava/....
    mais aucune ne fonctionne aussi

  4. #4
    Inactif  
    Homme Profil pro
    Inscrit en
    Janvier 2014
    Messages
    374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Janvier 2014
    Messages : 374
    Points : 479
    Points
    479
    Par défaut
    Bonjour.

    Wamp est construit d'une certaine façon :

    - Le dossier WAMP contient plusieurs dossiers et notamment le dossier "www"
    - C'est dans ce dossier "www" que vous devez placer vos projets (vous pouvez construire autant de projets que vous voulez).
    - Ainsi si vous avez un site "monsite.com" c'est un sous-dossier de www, qui contiendra les fichiers du site "monsite.com".
    Note : SerieJava est le repertoire sous wamp
    Qu'est ce que cela signifie dans l'architecture wamp qui vient d'être décrite ?...

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    279
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 279
    Points : 102
    Points
    102
    Par défaut
    Sous wamp veux dire sous le repertoire www

  6. #6
    Membre émérite Avatar de darkstar123456
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2008
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2008
    Messages : 1 896
    Points : 2 835
    Points
    2 835
    Par défaut
    Bonjour,

    Etes-vous certain que mod_rewrite est actif ? Il me semble que si c'était le cas, il devrait afficher l'URL non rewrité en erreur et non pas celle que vous essayez d'atteindre.

    Code htaccess : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <IfModule mod_rewrite.c>
      RewriteEngine On
     
      RewriteCond %{REQUEST_FILENAME} !-f
      RewriteCond %{REQUEST_FILENAME} !-d
      RewriteRule Serie-examens-([0-9]+)-([0-9]+)-([a-zA-Z]+)$ /SerieJava/examens-list.php?idChapitre=$1&idTitre=$2 [L]
    </IfModule>

    Vous pouvez également tester d'ajouter ceci après "RewriteEngine On" :
    Code htaccess : Sélectionner tout - Visualiser dans une fenêtre à part
    RewriteBase /SerieJava/

    Mais la première chose à faire est de vous assurez que mod_rewrite est installé et actif (ce n'est pas un réglage par défaut ! [ou en tout cas, ça ne l'était pas avant)

  7. #7
    Inactif  
    Homme Profil pro
    Inscrit en
    Janvier 2014
    Messages
    374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Janvier 2014
    Messages : 374
    Points : 479
    Points
    479
    Par défaut
    Dans httpd.conf, otez le # devant LoadModule rewrite_module modules/mod_rewrite.so

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    279
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 279
    Points : 102
    Points
    102
    Par défaut
    Oui le rewrite est bien actif, quand je fait une redirection static comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RewriteRule ^Le-premier-chapitre chapitre1.php [L]
    sa fonctionne correctement

    J'ai ajouter le code avec <ifModule> et le rewrite base aussi

    dans le fichier httpd.conf, je n'ai pas de # devant LoadModule rewrite_module modules/mod_rewrite.so

    mais la redirection avec variable ne fonctionne toujours pas

  9. #9
    Membre émérite Avatar de darkstar123456
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2008
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2008
    Messages : 1 896
    Points : 2 835
    Points
    2 835
    Par défaut
    Avez-vous bien écrit la règle comme je l'ai fait ?

    C'est à dire, sans délimiteur de début et de fin dans la règle, et avec le nom du répertoire pour la redirection ?

  10. #10
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    279
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 279
    Points : 102
    Points
    102
    Par défaut
    Oui j'ai bien ecrit la regle sans délimiteur de début et de fin dans la règle, et avec le nom du répertoire pour la redirection

  11. #11
    Membre émérite Avatar de darkstar123456
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2008
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2008
    Messages : 1 896
    Points : 2 835
    Points
    2 835
    Par défaut
    Et l'URL ci-après fonctionne bien au moins ? :p

    http://localhost/SerieJava/examens-list.php?idChapitre=$1&idTitre=$2

    De mémoire, WAMP vient avec une icône dans la barre des tâches qui permet de gérer les modules actif. Avez-vous bien un pettit "v" à côté de mod_rewrite ?
    Comme je l'ai dit, il est très étrange que le message d'erreur vous affiche l'URL que vous appelez et non pas celle de la redirection

Discussions similaires

  1. L'URL rewriting ne fonctionne pas avec EasyPHP 5.3
    Par valfritsch dans le forum Apache
    Réponses: 6
    Dernier message: 05/12/2009, 13h18
  2. [1.x] [Linux] Url rewriting ne fonctionne pas
    Par Bleys dans le forum Symfony
    Réponses: 7
    Dernier message: 06/06/2009, 18h54
  3. URL Rewriting : ne fonctionne pas
    Par Guigui13 dans le forum Apache
    Réponses: 2
    Dernier message: 28/11/2008, 21h57
  4. [URL Rewriting] ne fonctionne pas avec [a-z]+
    Par krfa1 dans le forum Apache
    Réponses: 1
    Dernier message: 14/05/2008, 12h41
  5. Règle URL rewriting ne fonctionnant pas.
    Par Romalafrite dans le forum Apache
    Réponses: 2
    Dernier message: 01/10/2006, 09h10

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