.htaccess personnalisé (Créer un compte)

  • Statut : non résolu
12 sujets de 1 à 12 (sur un total de 12)
  • Auteur
    Messages
  • #491347
    Offline
    Membre
    Initié WordPress
    7 contributions

    Bonjour,

    Ma configuration WP actuelle
    – Version de WordPress : Version 3.0.5
    – Version de PHP/MySQL : PHP Version 5.2.17 / MySQL Version 5.0.32
    – Thème utilisé : Arras
    – Extensions en place : Akismet / Twitter Stream / Google XML Sitemaps / Better Tag Cloud / SexyBookmarks (by Shareaholic) / WP RSS Images / WP Touch
    – Nom de l’hebergeur : OVH

    Problème(s) rencontré(s) :

    Le site sous WP (encore en développement) est une nouvelle version d’un site que j’avais fait en 2007 et qui avait son propre .htaccess.

    Dans cet ancien .htaccess, il y avait notamment des redirections du genre :

    RewriteRule ^page-([0-9]+)-([a-z-]+)-([a-z-]+).html$ ./index.php?p=memb&lg=$3&id=$1 [L]

    Les membres du site peuvent utiliser une url du style « http://monsite/page-membre-444-machin-truc-fr.html » dans les signatures de leur mails ou dans des signatures de forums externes. Et ça pointe sur leur page de membre sur mon site…

    Le problème :

    Maintenant que j’ai passé tout le site sur WordPress pour mieux gérer le contenu, je dois toujours garder l’accès à une « page membre » avec l’ancienne URL sinon les liens vers les pages membres ouvrent une 404.

    J’ai essayé de modifier le .htaccess de WP en mettant à la suite ma RewriteRule, mais rien à faire il pointe toujours vers une 404…

    # BEGIN WordPress
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteRule ^index.php$ – [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]
    </IfModule>
    # END WordPress
    
    # Page de membre
    
    RewriteRule ^page-([0-9]+)-([a-z-]+)-([a-z-]+).html$ ./index.php?p=memb&lg=$3&id=$1 [L]

    J’ai écumé le forum et google et tout le monde a l’air de dire que c’est très simple et que ça marche nickel, mais moi je sèche et j’ai besoin d’un coup de main…

    Merci d’avance !

    #757560
    ydubois
    Membre
    Chevalier WordPress
    180 contributions

    Mais elles existent dans ton WordPress ces fameuses pages membres ?

    #757561
    Offline
    Membre
    Initié WordPress
    7 contributions

    Je vais rediriger vers une page WP du genre http://monsite/page-membre?id=444, et la page « page-membre » existe oui et a un template spécial avec du contenu qui vient d’un autre base mysql.

    #757562
    Offline
    Membre
    Initié WordPress
    7 contributions

    Mon rewriterule sera

    RewriteRule ^page-([0-9]+)-([a-z-]+)-([a-z-]+).html$ ./page-membre?lg=$3&id=$1 [L]

    #757563
    ydubois
    Membre
    Chevalier WordPress
    180 contributions

    Mets tes règles de réécriture AVANT celles de WordPress

    et essaye de l’écrire comme ça :

    RewriteRule ^/?page-([0-9]+)-([a-z-]+)-([a-z-]+).html$ /index.php?p=memb&lg=$3&id=$1 [L]

    #757564
    Lumiere de Lune
    Participant
    Maître WordPress
    20236 contributions

    Essaie surtout de la mettre AVANT le module wordpress

    #757565
    Offline
    Membre
    Initié WordPress
    7 contributions

    Ok merci tous les deux, j’ai donc mis ma règle de réécriture avant le bloc de WP, mais tjrs rien, ça me renvoie sur la page 404.

    Pourtant quand je teste l’url de destination de ma règle, ça fonctionne bien, j’ouvre la page ‘page-membre’ correctement…

    #757566
    ydubois
    Membre
    Chevalier WordPress
    180 contributions

    Je n’avais pas vu ta dernière version de la règle. Du coup essaye comme ça :

    RewriteRule ^/?page-([0-9]+)-([a-z-]+)-([a-z-]+).html$ /index.php/page-membre?lg=$3&id=$1 [L]

    dans tous les cas AVANT 😉

    #757567
    Offline
    Membre
    Initié WordPress
    7 contributions

    Merci…

    Toujours la 404, c’est déprimant…

    C’est pourtant la seule/bonne solution pour faire ça hein ?

    #757568
    ydubois
    Membre
    Chevalier WordPress
    180 contributions

    Oui, j’en ai des centaines des redirections de ce genre, sur plusieurs blogs WordPress. Ca devrait fonctionner. Vérifie que tu n’as pas de problème de cache de navigateur ou serveur (en théorie une page 404 ne va pas en cache, en pratique, j’ai déjà vu des redirections qui ne se mettaient à fonctionner qu’après des redémarrages du serveur web ou du navigateur). Il faut procéder par étape, essaie déjà de faire fonctionner la redirection sans les paramètres (il peut y avoir un conflit dans les noms des paramètres). Vérifie aussi que tu arrives à faire une redirection [R=301,L] pour être sur que ton .htaccess est bien pris en compte.

    #757569
    Offline
    Membre
    Initié WordPress
    7 contributions

    Ok je vais tester tout ça…

    Merci encore

    #757570
    Offline
    Membre
    Initié WordPress
    7 contributions

    Alors…

    – Cache du navigateur : purgé et testé avec un autre browser = 404

    – Cache du serveur : là je vois pas trop comment purger cette cache

    – Test page simple sans paramètres : RewriteRule ^/?page-membre.html$ /index.php/page-membre/ [L]
    Résultat : 404

    – Test page simple sans paramètres : RewriteRule ^/?page-membre.html$ /?page_id=126 [L]
    Résultat : 404

    – Test 301 : redirect 301 / http://www.google.fr/
    Résultat : Fonctionne !

    Enfin un truc qui fonctionne normalement 😉

    Résultat : Je tourne en rond 😉

    Incroyable tout ça quand même…

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