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 :

Configurer URL rewriting sur EasyPHP 5.4.6


Sujet :

Apache

  1. #1
    Membre du Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Janvier 2006
    Messages
    132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Webmaster
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2006
    Messages : 132
    Points : 66
    Points
    66
    Par défaut Configurer URL rewriting sur EasyPHP 5.4.6
    Bonjour, je travaille avec easyPhp version et je voudrais configurer mon serveur pour accepter les url rewrite.
    Comment configurer?

  2. #2
    Membre éprouvé Avatar de Marc3001
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2008
    Messages
    829
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Février 2008
    Messages : 829
    Points : 1 275
    Points
    1 275
    Par défaut
    Un petit passage par les tutos.

  3. #3
    Membre du Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Janvier 2006
    Messages
    132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Webmaster
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2006
    Messages : 132
    Points : 66
    Points
    66
    Par défaut
    Merci, sympha tuto.

  4. #4
    Membre du Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Janvier 2006
    Messages
    132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Webmaster
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2006
    Messages : 132
    Points : 66
    Points
    66
    Par défaut
    J'ai une autre préoccupation, pour un site dynamique (Mysql/Php). Avec un lien dt type :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="article.php?id=$data->idarticle">suite</a>
    Comment procéder?

  5. #5
    Membre du Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Janvier 2006
    Messages
    132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Webmaster
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2006
    Messages : 132
    Points : 66
    Points
    66
    Par défaut
    J'ai trouvé une solution mais j'ai une erreur 404 (page not fond).

    Ficher .htaccess

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Options +FollowSymlinks
    RewriteEngine on
    RewriteRule ^article-([0-9]+)-([A-Za-z]+)\.htm$ /article.php?p=$2[L]
    Ficher Php

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="<?php echo "article-".$data->idart."-".$data->alias.".html";?>"><span class="FontTexteArt"><?php echo $data->titreart?></span></a>

  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
    Points : 12 977
    Points
    12 977
    Par défaut
    Ca arrive. Tu peux donner un exemple de lien généré par ton code PHP et qui mène à une erreur 404 ?

    Dans ton .htaccess, tu as essayé de retirer le / devant article.php (second membre de ta RewriteRule) ?

  7. #7
    Membre éprouvé Avatar de Marc3001
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2008
    Messages
    829
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Février 2008
    Messages : 829
    Points : 1 275
    Points
    1 275
    Par défaut
    T'as html dans ton lien et htm dans la RewriteRule.
    Il faut que le lien que tu génères en php colle parfaitement avec ta rewriterule.

  8. #8
    Membre du Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Janvier 2006
    Messages
    132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Webmaster
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2006
    Messages : 132
    Points : 66
    Points
    66
    Par défaut
    J'ai apporté les correction mais c'est pareil.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Options +FollowSymlinks
    RewriteEngine on
    RewriteRule ^article-([0-9]+)-([A-Za-z]+)\.html$ article.php?p=$2[L]

  9. #9
    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
    Quelles corrections ? Donne nous un exemple de code HTML de lien qui ne marche pas comme déjà demandé.

  10. #10
    Membre du Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Janvier 2006
    Messages
    132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Webmaster
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2006
    Messages : 132
    Points : 66
    Points
    66
    Par défaut
    Code HMLT de la page index.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     <div style="padding:5px 5px;">
        <a href="<?php echo "article-".$data->idart."-".$data->alias.".html";?>">
           <span class="FontTexteArt"><?php echo $data->titreart?></span></a>
         <p class="FontTexteGris12"><?php echo $data->dateart?></p>
          <img src="photo/<?php echo $data->imageart?>" class="img1" />
           <p style="float:right;">
    	<?php echo nl2br(substr($data->article, 0,400))?><a href="actualite.php?id=<?php echo $data->idart?>" title="Lire l'article complet"><span class="FontTexteMore">&nbsp;Lire la suite</span></a>
            </p>
    </div>
    Code du fichier .htaccess

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Options +FollowSymlinks
    RewriteEngine on
    RewriteRule ^article-([0-9]+)-([A-Za-z]+)\.html$ article.php?p=$2[L]
    Le soucis c'est comment récuperer l'id de l'article pour ma page article (page d'affichage) lorsque je click sur le lien?

  11. #11
    Membre du Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Janvier 2006
    Messages
    132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Webmaster
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2006
    Messages : 132
    Points : 66
    Points
    66
    Par défaut
    J'ai fini par trouver ce qui clochait.
    mon expression régulière n'était pas bonne.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Options +FollowSymlinks
    RewriteEngine on
    RewriteRule ^article-([0-9]+)-([A-Za-z\-]+)\.html$ article.php?p=$1[L]
    \-manquait

  12. #12
    Membre du Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Janvier 2006
    Messages
    132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Webmaster
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2006
    Messages : 132
    Points : 66
    Points
    66
    Par défaut
    Juste une dernière chose,

    je voudrais faire une redirection à la bonne url au cas où on changeais l'url de la barre en modifiant des caractères.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
      $sqlArt = "SELECT * FROM article WHERE idart=".$_GET['p'];
       $sqlArt = $connect_db->query($sqlArt);
       $dataArt = $sqlArt->fetch(PDO::FETCH_OBJ);
     
    if($dataArt->alias != $_GET['p']){
    	   header('Status: 301 Moved Permanently', false, 301); 
    	   header('Location:article-'.$_GET['p'].'-'.$dataArt->alias.'.html');
       }
    Mais mes navigateur de test (Chrome et fireFox) m'indique une boucle de redirection.

  13. #13
    Membre éprouvé Avatar de Marc3001
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2008
    Messages
    829
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Février 2008
    Messages : 829
    Points : 1 275
    Points
    1 275
    Par défaut
    Essaie plutot
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if($dataArt->idart != $_GET['p']){
    EDIT : En me relisant je suis même pas sûr de ce que tu veux faire.... idart est toujours égal à $_GET[p] et toujours différent de alias non ?

  14. #14
    Membre du Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Janvier 2006
    Messages
    132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Webmaster
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2006
    Messages : 132
    Points : 66
    Points
    66
    Par défaut
    Je vais essayer d'être plus clair.

    un internaute accède à ma page article en cliquant sur le lien.
    dans ma barre d'adresse j'ai ça: article-13-me-revoir-la.html

    il s'amuse à enlever le "e" de me et actualise la page pour voir ce qui se passe.
    Je souhaite qu'après l'actualisation de la page , la bonne url soit réécrite
    comme : article-13-me-revoir-la.html
    au lieu de
    article-13-m-revoir-la.html

  15. #15
    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
    Il faut gérer ça en PHP : au début de ta page, avant la toute première balise HTML, il faut que tu vérifiés que le titre récupéré est le bon, et que s'il n'est pas bon, tu rediriges avec le bon titre. Apache ne peut pas t'aider dans cette affaire.

  16. #16
    Membre éprouvé Avatar de Marc3001
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2008
    Messages
    829
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Février 2008
    Messages : 829
    Points : 1 275
    Points
    1 275
    Par défaut
    Le souci c'est que tu compares $_GET['p'] qui contient l'id d'article avec l'alias... C'est donc toujours différent et donc tu rediriges à chaque fois.

  17. #17
    Membre du Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Janvier 2006
    Messages
    132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Webmaster
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2006
    Messages : 132
    Points : 66
    Points
    66
    Par défaut
    Problème résolu, il fallait récupérer aussi le paramètre "alias".

    La redirection
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
      $p = $_GET['p'];
       $alias = $_GET['alias'];
       $sqlArt = "SELECT * FROM article WHERE idart=".$p;
       $sqlArt = $connect_db->query($sqlArt);
       $dataArt = $sqlArt->fetch(PDO::FETCH_OBJ);
     
      if($dataArt->alias != $alias){
    	   header("Location:article-".$p."-".$dataArt->alias.".html");
       }
    Fichier htaccess

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Options +FollowSymlinks
    RewriteEngine on
    RewriteRule ^article-([0-9]+)-([A-Za-z\-]+)\.html$  article.php?p=$1&alias=$2
    Le code n'est pas peut-être optimisé mais ça marche.

    Merci à tous/toute

  18. #18
    Membre du Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Janvier 2006
    Messages
    132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Webmaster
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2006
    Messages : 132
    Points : 66
    Points
    66
    Par défaut
    Pour mettre plusieurs url dans mon fichier htaccess.

    j'ai essayé ça mais ça marche pas ERREUR 404.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Options +FollowSymlinks
    RewriteEngine on
    RewriteRule ^article-([0-9]+)-([A-Za-z\-]+)\.html$  article.php?p=$1&alias=$2 
    RewriteRule ^dossier/([0-9]+)/([A-Za-z\-]+)\.html$  dossier.php?p=$1&aliasdossier=$2
    Lien
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <a href="<?php echo "dossier/".$dataDos->iddossier."/".$dataDos->aliasdossier.".html";?>"><?php echo ucfirst($dataDos->titredossier) ?></a>

  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
    Dans l'error_log d'Apache tu auras un bout d'explication. Mais une fois de plus, le code HTML reçu par le navigateur et pas le code PHP nous aiderait plus.

  20. #20
    Membre du Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Janvier 2006
    Messages
    132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Webmaster
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2006
    Messages : 132
    Points : 66
    Points
    66
    Par défaut
    script error_log:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    127.0.0.1 - - [21/Jul/2013:10:06:03 +0000] "GET /sciencesetprogres/dossier/2/le-co2-mauvais-utilisation-d-une-richesse.html HTTP/1.1" 404 1353
    127.0.0.1 - - [21/Jul/2013:10:06:05 +0000] "GET /favicon.ico HTTP/1.1" 404 1123
    Je met tous les codes:

    fichier htaccess:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Options +FollowSymlinks
    RewriteEngine on
    RewriteRule ^article-([0-9]+)-([A-Za-z\-]+)\.html$  article.php?p=$1&alias=$2 
    RewriteRule ^dossier/([0-9]+)/([A-Za-z\-]+)\.html$  dossier.php?p=$1&aliasdossier=$2
    Fichier contenant le lien : tous-les-dossier.php

    Code php : 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
    <div class="boxFolderContent" style="background-color:transparent;">
       <?php
              try {
                        while ($dataDos = $sql->fetch(PDO::FETCH_OBJ)){
       ?>
       <div class="boxFolderElement" style="margin-top:5px; margin-bottom:5px;">
         <img src="photo/<?php echo $dataDos->image ?>" alt="<?php echo $dataDos->titredossier ?>"    
          style="margin-bottom:10px;" /><span class="FontBlackTexte">
     <?php
    	$sqlDom = "SELECT iddomaine, titre FROM domaine WHERE iddomaine=".$dataDos->iddomaine;
    	$sqlDom = $connect_db->query($sqlDom);
    	$dataIdDom = $sqlDom->fetch(PDO::FETCH_OBJ);
    								
    	echo stripslashes(strtoupper($dataIdDom->titre));
     ?></span><br />
      <span class="FontBlueDark14"><a href="<?php echo "dossier/".$dataDos->iddossier."/".$dataDos->aliasdossier.".html";?>"><?php echo ucfirst($dataDos->titredossier) ?></a></span>
       </div>
        <?php
    	 }
        }catch(PDOException $e){
    	 $e->getMessage();
       }?>
    </div>

    Fichier appelé dossier.php

    Code de récupération de l'Id.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
      $p = $_GET['p'];
       $sqlDos = "SELECT * FROM dossier WHERE iddossier=".$p;
       $sqlDos = $connect_db->query($sqlDos);
       $dataDos = $sqlDos->fetch(PDO::FETCH_OBJ);

Discussions similaires

  1. Activer l'URL rewriting sur EasyPHP 5.3
    Par mld_webcom2d dans le forum Apache
    Réponses: 4
    Dernier message: 25/06/2010, 21h08
  2. [URL Rewriting] sur téléchargement de fichiers
    Par Dr.Wily dans le forum Apache
    Réponses: 44
    Dernier message: 20/05/2008, 15h40
  3. [Apache/Tomcat] Configurer url rewriting
    Par bizet dans le forum Apache
    Réponses: 4
    Dernier message: 10/04/2008, 17h33
  4. [EasyPHP] URL Rewriting sous EasyPHP 1.8
    Par Saiyan dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 7
    Dernier message: 30/12/2006, 14h35

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