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 :

[URL rewriting] Erreur 404 sur la réécriture de mapage-1.html


Sujet :

Apache

  1. #1
    Membre régulier
    Inscrit en
    Janvier 2007
    Messages
    425
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 425
    Points : 90
    Points
    90
    Par défaut [URL rewriting] Erreur 404 sur la réécriture de mapage-1.html
    Bonjour,

    Je fais la reecriture des URL, mais il affiche une page blanche du genre 404, voila le detail de la reecriture:

    fichier htaccess:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Options +FollowSymlinks
    RewriteEngine on
    RewriteRule ^mapage-([0-9]+)\.html$   /index.php?rubrique=$1 [L]
    Le lien est sous forme de: mapage-1.html
    Les pseudo frames sont de la maniere:

    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
     
    <?php
     
    // On récupère la rubrique passée en paramètre
    if(isset($_GET["rubrique"])) $rubrique = $_GET["rubrique"];
    else $rubrique = "";
     
    // On affiche la page associée à la rubrique
    switch ($rubrique)
    {
    case 'mapage1':
    include('page_1.php');
    break;
    case 'mapage2':
    include('page_2.php');
    break;
    case 'mapage3':
    include('page_3.php');
    break;
    default:
    include('accueil.php');
    break;
    }
    ?>

  2. #2
    Membre éclairé
    Avatar de djayp
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    295
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 295
    Points : 687
    Points
    687
    Par défaut
    Salut !

    Essaie d'afficher le contenu de ta variable $rubrique. Tu verras qu'elle ne contient pas "mapage1" mais juste le chiffre "1". Il te faut donc modifier ton switch car sinon tu tomberas toujours sur la page par défaut : accueil.php.

    A++

  3. #3
    Membre régulier
    Inscrit en
    Janvier 2007
    Messages
    425
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 425
    Points : 90
    Points
    90
    Par défaut
    Citation Envoyé par djayp Voir le message
    Salut !

    Essaie d'afficher le contenu de ta variable $rubrique. Tu verras qu'elle ne contient pas "mapage1" mais juste le chiffre "1". Il te faut donc modifier ton switch car sinon tu tomberas toujours sur la page par défaut : accueil.php.

    A++
    Si je garde un de mes liens comme ca: index.php?rubrique=mapage3, la page s'affiche normale, mais quand je fais: mapage-1.html, me donne la page 404 du serveur XAMPP

  4. #4
    Membre éclairé
    Avatar de djayp
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    295
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 295
    Points : 687
    Points
    687
    Par défaut
    Ok.
    Est-tu sur d'avoir activé le mod rewrite d'apache ?
    Voici ce lien.

    A++

  5. #5
    Membre régulier
    Inscrit en
    Janvier 2007
    Messages
    425
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 425
    Points : 90
    Points
    90
    Par défaut
    Citation Envoyé par djayp Voir le message
    Ok.
    Est-tu sur d'avoir activé le mod rewrite d'apache ?
    Voici ce lien.

    A++
    Oui j'ai deja testé

  6. #6
    Membre régulier
    Inscrit en
    Janvier 2007
    Messages
    425
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 425
    Points : 90
    Points
    90
    Par défaut
    J'ai deplace mon fichier htaccess, et maintenant quand je clique sur mon lien, il m'affiche la page par defaut, qui est: accueil.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    default:
    include('accueil.php');
    break;

  7. #7
    Membre éclairé
    Avatar de djayp
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    295
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 295
    Points : 687
    Points
    687
    Par défaut
    Ok ca progresse ! On se trouve dans le cas décrit par ma première réponse...
    A++

  8. #8
    Membre régulier
    Inscrit en
    Janvier 2007
    Messages
    425
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 425
    Points : 90
    Points
    90
    Par défaut
    Citation Envoyé par djayp Voir le message
    Ok ca progresse ! On se trouve dans le cas décrit par ma première réponse...
    A++
    Toutes les pages se trouvent au meme repertoire

  9. #9
    Membre régulier
    Inscrit en
    Janvier 2007
    Messages
    425
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 425
    Points : 90
    Points
    90
    Par défaut
    J'ai fait un echo sur $rubrique et affiche le numero de la page:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <?php include('centre.php'); echo $rubrique; // on insère la page avec le site proprement dit ?>

  10. #10
    Membre éclairé
    Avatar de djayp
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    295
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 295
    Points : 687
    Points
    687
    Par défaut
    Ok. Remplace ton switch par le code suivant et ca devrait fonctionner !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    switch ($rubrique)
    {
    case '1': include('page_1.php'); break;
    case '2': include('page_2.php'); break;
    case '3': include('page_3.php'); break;
    default: include('accueil.php');
    }
    A++

  11. #11
    Membre régulier
    Inscrit en
    Janvier 2007
    Messages
    425
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 425
    Points : 90
    Points
    90
    Par défaut
    Citation Envoyé par djayp Voir le message
    Ok. Remplace ton switch par le code suivant et ca devrait fonctionner !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    switch ($rubrique)
    {
    case '1': include('page_1.php'); break;
    case '2': include('page_2.php'); break;
    case '3': include('page_3.php'); break;
    default: include('accueil.php');
    }
    A++
    Oui ca fonctionne, et si je veux que ca se soit case 'mapage1': au lieu de case '1':

  12. #12
    Membre éclairé
    Avatar de djayp
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    295
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 295
    Points : 687
    Points
    687
    Par défaut
    Cool !
    Bon pour avoir "mapage1" tu peux simplement reprendre ton fichier .htaccess et remplacer la ligne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    RewriteRule ^mapage-([0-9]+)\.html$   /index.php?rubrique=$1 [L]
    Par :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    RewriteRule ^mapage-([0-9]+)\.html$   /index.php?rubrique=mapage$1 [L]
    Ou encore :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    RewriteRule ^(mapage-[0-9]+)\.html$   /index.php?rubrique=$1 [L]
    A+++

  13. #13
    Membre régulier
    Inscrit en
    Janvier 2007
    Messages
    425
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 425
    Points : 90
    Points
    90
    Par défaut
    J'ai fais ca:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    RewriteRule ^index.php/+([a-zA-Z0-9]+)-([a-zA-Z0-9]+)\.html$ index.php?rub=$1&srub=$2
    Avec la structure de mon URL est en general: index.php/rub-srub.html, mais je me trouve face a d'autres problemes, je perds la mise en place des styles, les images n'apparaissent pas,...

  14. #14
    Membre régulier
    Inscrit en
    Janvier 2007
    Messages
    425
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 425
    Points : 90
    Points
    90
    Par défaut
    J'ai trouve la solution en mettant comme ca:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    RewriteRule ([a-zA-Z0-9]+)\.html$ index.php?rub=$1
    RewriteRule ([a-zA-Z0-9]+)-([a-zA-Z0-9]+)\.html$ index.php?rub=$1&srub=$2
    Ca me cause un probleme, si le lien est sous forme de: index.php?rub=$1&srub=$2 ca marche pas, mais si le lien est sous forme de index.php?rub=$1, ca marche tres bien

  15. #15
    Membre régulier
    Inscrit en
    Janvier 2007
    Messages
    425
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 425
    Points : 90
    Points
    90
    Par défaut
    Merci pour votre aide

  16. #16
    Membre éclairé
    Avatar de djayp
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    295
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 295
    Points : 687
    Points
    687
    Par défaut
    Salut !
    En inversant simplement les deux lignes ca devrait passer :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    RewriteRule ([a-zA-Z0-9]+)-([a-zA-Z0-9]+)\.html$ index.php?rub=$1&srub=$2
    RewriteRule ([a-zA-Z0-9]+)\.html$ index.php?rub=$1
    A++

  17. #17
    Membre régulier
    Inscrit en
    Janvier 2007
    Messages
    425
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 425
    Points : 90
    Points
    90
    Par défaut
    J'ai rencontre un petit probleme en recuperant l'id:

    le fichier htaccess:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RewriteRule ^(\w+)-(\w+)-([\w.-_]+).html$ index.php?rub=$1&srub=$2&idmcat=$3 [L]
    le fichier php:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $idmcat = $_GET['idmcat'];
    $rub = $_GET['rub'];
    $srub = $_GET['srub'];
    echo $rub.'<br>';
    echo $srub.'<br>';
    echo $idmcat.'<br>';

    je recupere ma rub et srub alors que l'idmcat je le recupere pas, le lien est sous forme de:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo '<a href="'.$rub.'-'.$srub.'-'.$idmcat.'.html" class="Link01">';

  18. #18
    Membre régulier
    Inscrit en
    Janvier 2007
    Messages
    425
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 425
    Points : 90
    Points
    90
    Par défaut
    Et si par exemple j'ai un lien du type:
    index.php?rub=rub1&srub=srub1&page=1
    et un autre lien du type:
    index.php?rub=rub1&srub=srub1&id=1

    le fichier htaccess prend en consideration le premier lien, parce qu'ils ont la meme forme d'ecriture

  19. #19
    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
    Points : 12 977
    Points
    12 977
    Par défaut
    C'est une question ou une affirmation ?

    Du détail, du détail, du détail !!!
    Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute

  20. #20
    Membre régulier
    Inscrit en
    Janvier 2007
    Messages
    425
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 425
    Points : 90
    Points
    90
    Par défaut
    Citation Envoyé par _Mac_ Voir le message
    C'est une question ou une affirmation ?
    Une question

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Erreur 404 sur url avec accent
    Par zebul666 dans le forum Tomcat et TomEE
    Réponses: 4
    Dernier message: 21/02/2014, 11h24
  2. Erreur 404 sur redirection d'url
    Par iPolux dans le forum Apache
    Réponses: 2
    Dernier message: 16/10/2011, 23h51
  3. [URL rewriting] Erreur 401 sur redirection
    Par MaxPopo33 dans le forum Apache
    Réponses: 1
    Dernier message: 23/08/2009, 16h41
  4. [URL rewriting] erreur 403 sur le CSS
    Par nixonne dans le forum Apache
    Réponses: 2
    Dernier message: 27/03/2009, 09h23

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