[Résolu] Problème de permaliens en local (Créer un compte)

  • Statut : non résolu
15 sujets de 1 à 15 (sur un total de 18)
  • Auteur
    Messages
  • #458899
    Lumiere de Lune
    Participant
    Maître WordPress
    19379 contributions

    Bonjour,

    Ma configuration WP actuelle
    – Version de WordPress : 2.5
    – Thème utilisé : Sandbox
    – Plugins en place : Akismet, AIOSEO
    – Nom de l’hebergeur : local avec WAMP, sous XP
    – Adresse du site : http://localhost

    Problème(s) rencontré(s) :
    J’ai installé WAMP et mon blog sans problème. Je peux tout faire ou presque, c’est à dire que pour les permaliens, je suis dans la “même configuration” que chez Free :
    Si je fais une structure de permalien personnalisée du type (par example) %postname%-%post_id% et que j’essaie d’accéder à un post, ça ne marche pas (erreur 404, url not found)
    En revanche, avec un permalien du type /index.php/%postname%-%post_id% ça marche.

    Je n’ai rien changé aux fichiers standards de config, qu’est ce que je devrais modifier pour pouvoir avoir des permaliens sans le index.php ?

    #627902
    Olivier
    Participant
    Maître WordPress
    1415 contributions

    Je crois qu’il y a un bug dans la 2.5 de ce côté là… Regarde dans le trac wordpress…

    #627903
    Lumiere de Lune
    Participant
    Maître WordPress
    19379 contributions

    Je ne sais pas, j’ai un blog sous WordPress qui fonctionne en ligne avec des permaliens sans “index”

    Strange… je cherche 🙂

    #627904
    dlo
    Participant
    Maître WordPress
    1850 contributions

    Le fichier .htaccess est-il bien généré ?

    #627905
    Lumiere de Lune
    Participant
    Maître WordPress
    19379 contributions

    Oui, il est généré.
    Il fonctionne avec les liens /index.php/ etc et si je remodifie ensuite pour revenir à la structure sans index.php, cela ne marche plus. Ce n’est pas donc pas un problème d’écriture du fichier, mais éventuellement de contenu ?

    #627906
    Lumiere de Lune
    Participant
    Maître WordPress
    19379 contributions

    Voilà le contenu du .htaccess quand le permalien est avec l’index

    # BEGIN WordPress
    
    RewriteEngine On
    RewriteBase /
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]
    
    
    # END WordPress

    Le problème, c’est qu’avec l’autre structure… le contenu du htaccess reste identique. Si je supprime le permalien, il devient vide, donc ce n’est pas un problème “en soi” de mise à jour.

    Sinon j’ai vu qu’il pouvait y avoir des problèmes avec Apache sous Windows, mais comme j’ai désactivé IIS, ça ne devrait pas être le cas ?

    #627907
    dlo
    Participant
    Maître WordPress
    1850 contributions

    Ce n’est effectivement pas très normal que le .htaccess soit identique que l’on ait ou pas /index.php dans le permalien.
    Malheureusement, je ne vois pas ce qui pourrait causer cela !

    #627908
    Lumiere de Lune
    Participant
    Maître WordPress
    19379 contributions

    En fait je suis allée voir dans les .htaccess de mes blogs en ligne, et c’est à chaque fois la même instruction. Je suppose qu’elle renvoie ensuite à la table wp_options où la règle de rewriting est écrite.
    Ca semble donc être un problème de config de mon serveur local, et je n’y connais rien

    #627909
    lab
    Membre
    Initié WordPress
    10 contributions

    Bonjour,
    Première contribution 🙂
    Pour que les permaliens fonctionnent en local, il faut activer le module apache.

    Le fichier httpd.conf doit contenir ces lignes :
    #LoadModule rewrite_module libexec/mod_rewrite.so
    #AddModule mod_rewrite.c

    Dé-commentez les :
    LoadModule rewrite_module libexec/mod_rewrite.so
    AddModule mod_rewrite.c

    Enregistrez. Redémarrez apache. Et voilà !

    J’utilises EasyPhp et j’accède au fichier “httpd.conf” via un clic droit/Apache/configuration sur l’icône d’EasyPhp.

    #627910
    chamomor
    Participant
    Maître WordPress
    1914 contributions

    Merci Lumière de Lune et Lab, j’ai toujours accepté ce bug (devoir mettre index.php/ en préfixe) pour le local. Mais si on peut changer ça, cela rendrait encore plus synchro le travail en local.
    Sauf qu’il refuse.
    Il y a bien cette ligne dont j’ai enlevé le # devant: LoadModule rewrite_module libexec/mod_rewrite.so
    mais pas de ligne existante : AddModule mod_rewrite.c
    ai viré le rewrite index dans htaccess, mais rien.

    #627911
    Lumiere de Lune
    Participant
    Maître WordPress
    19379 contributions

    Arff….; merci d’avoir remonté cette vieille discussion ^^ le problème a été réglé depuis bien longtemps, j’ai même oublié comment 🙂

    #627912
    chamomor
    Participant
    Maître WordPress
    1914 contributions

    Bah je dois dire que cet index.php ne me m’ennuie pas cela ne change rien pour le boulot en local (sauf si on ajoute un lien en dur mais c’est rare). Mais maintenant que je sais cela possible impossible de ne pas trouver la solution. Je trouverai, ça doit être un truc logique.

    #627913
    chamomor
    Participant
    Maître WordPress
    1914 contributions

    Voilà j’ai trouvé. Je n’y connais rien dans ce domaine mais, avec l’indication de Lab, en survolant le fichier httpd.conf et avec un peu de calme 😋 …
    Il s’agit bien du fichier qui se trouve dans Apache/config (pas l’autre qui se trouve dans original forcément). Voici les étapes :

    – Enlever le # devant la ligne LoadModule rewrite_module libexec/mod_rewrite.so

    – Dans ce même fichier, comme Apache et SQL sont séparés, pour permettre l’interaction, changer la ligne

    AllowOverride None en : AllowOverride All

    dans :

    – Ouvrir .htaccess (celui pour WP qui se trouve à la racine), virer ce qui s’y trouve.

    – Redémarrer Easyphp
    – modifier la ligne des permaliens dans le tableau de bord (virer ce préfixe index.php)
    – ce qui fait que WP va à nouveau recréer un Rewrite avec cet index mais plus de souci
    – vider le cache du navigateur

    Je ne sais pas si c’est la manière parfaite ou la plus propre (si un pro en ce domaine peut confirmer ?)
    mais heu ça fonctionne
    Comme c’est du local, pas de risque

    #627914
    Nilav
    Membre
    Padawan WordPress
    54 contributions

    Pour Wamp, il suffit de cliquer gauche sur l’icône du logiciel et dans la partie Apache, aller dans les services et lancer “rewrite module”. Je précise car à l’époque du topic, la version de Wamp ne le permettait peut-être pas.

    #627915
    ExtraPaul
    Participant
    Initié WordPress
    1 contributions

    Merci Lashon : je viens de suivre tes instructions avec EasyPHP 5.3.3.1 et ça fonctionne.
    Sans nettoyer le cache du navigateur…

15 sujets de 1 à 15 (sur un total de 18)
  • Vous devez être connecté pour répondre à ce sujet.