Problème Rewriting chez 1&1

Discussion dans 'URL Rewriting et .htaccess' créé par plus2notoriete, 17 Décembre 2013.

  1. plus2notoriete
    plus2notoriete Nouveau WRInaute
    Inscrit:
    10 Décembre 2012
    Messages:
    6
    J'aime reçus:
    0
    Hello,

    Je suis hébergé chez 1&1, j'aimerais réécrire les URLs de mes news (classique), j'ai donc créé le fichier .htaccess que j'ai placé à la base de mon site mais lorsque je test, il ne se passe rien.

    J'ai pris pour exemple cette URL : http://www.plus2notoriete.com/actu.php?id=15
    Dans le test je voudrais que actu.php?id=15 soit remplacer par bonjour.php

    voici donc mon .htaccess
    Code:
    Options +FollowSymlinks
    RewriteEngine on
    RewriteRule ^bonjour.php$ actu.php?id=15 [L]
    Mon fichier est-il bien écrit ?
    Est-ce 1&1 qui pose problème ?

    Merci
     
  2. Giustino
    Giustino WRInaute discret
    Inscrit:
    19 Novembre 2011
    Messages:
    141
    J'aime reçus:
    0
    Pas d'erreur apparente, normalement ton code devrait fonctionner.
    Vérifie que le rewriting est activé (par exemple phpinfo() avec php).

    EDIT: par précaution, ajoute RewriteBase
    Code:
    RewriteEngine on
    RewriteBase /
    
    RewriteRule ....
    
     
  3. plus2notoriete
    plus2notoriete Nouveau WRInaute
    Inscrit:
    10 Décembre 2012
    Messages:
    6
    J'aime reçus:
    0
    Merci, j'ai ajouté le RewriteBase / mais ça ne change rien, c'est comme si mon .htaccess passait inaperçu.
    J'ai contacté 1&1 il m'ont dit que l'URL rewriting était actif chez eux, le mec a regardé mon .htaccess et il n'a pas vu d'erreur non plus. :?
    Voici mon phpinfo()....je ne vois pas le MOD_rewrite

    http://www.plus2notoriete.com/phpinfo.php
     
  4. zeb
    zeb WRInaute accro
    Inscrit:
    5 Décembre 2004
    Messages:
    12 181
    J'aime reçus:
    1
    Code:
    RewriteRule ^bonjour.php$ actu.php?id=15 [L]
    sens de la réécriture :
                ------------    >>>>>>>>>>>
    la tu fait exactement le contraire ... de plus tu utilise les caractères de début et fin donc tu bloque tous les cas que tu souhaite traiter.
     
  5. Giustino
    Giustino WRInaute discret
    Inscrit:
    19 Novembre 2011
    Messages:
    141
    J'aime reçus:
    0
    @zeb
    Je pense plutôt qu'il désire accéder à http://www.site.com/bonjour.php et que ça pointe sur http://www.site.com/actu.php?id=15 et dans ce cas c'est correct, ou alors j'ai mal compris sa demande :)

    @plus2notoriete
    Finalement, zeb me fait hésiter en relisant ta demande. Veux-tu accéder à http://www.site.com/bonjour.php et afficher le même contenu que http://www.site.com/actu.php?id=15 ou veux-tu plutôt accéder à http://www.site.com/actu.php?id=15 et que ça te redirige vers http://www.site.com/bonjour.php ?

    Si c'est la première solution, alors j'ai déjà tout dit.
    Si par contre c'est la deuxième solution, alors désolé j'avais mal compris et voici la solution:
    Code:
    RewriteEngine on
    RewriteCond   %{QUERY_STRING}   ^id=([0-9]+)$
    RewriteRule   ^actu.php$   bonjour.php [R=301,L]
    
     
  6. plus2notoriete
    plus2notoriete Nouveau WRInaute
    Inscrit:
    10 Décembre 2012
    Messages:
    6
    J'aime reçus:
    0
    @Giustino, je veux accéder à http://www.site.com/bonjour.php et afficher le même contenu que http://www.site.com/actu.php?id=15

    Ceci n'est qu'un test, plus tard je voudrais que http://www.site.com/actu.php?id=15 devienne http://www.site.com/titre-de-l-actu-15
     
  7. Giustino
    Giustino WRInaute discret
    Inscrit:
    19 Novembre 2011
    Messages:
    141
    J'aime reçus:
    0
    Alors ça devrait fonctionner, c'est étrange...

    Un petit test: crée un fichier test.php
    Code:
    <?php
    echo "URL: " . $_GET['url'];
    ?>
    
    Et dans ton htaccess:
    Code:
    RewriteEngine on
    RewriteRule   ^(.*)$   test.php?url=$1 [L]
    
    Avec ceci, n'importe quelle url bidon devrait pointer sur ton fichier test.php et afficher l'url accédée
     
  8. plus2notoriete
    plus2notoriete Nouveau WRInaute
    Inscrit:
    10 Décembre 2012
    Messages:
    6
    J'aime reçus:
    0
    j'ai fait ton test.

    Si j'entre une adresse du style test.php?url=6 ça m'ouvre bien mon test.php d'origine.
    Mais je ne vois pas où tu veux en venir avec ce test.
    je l'ai placé ici : www.plus2notoriete.com/rewritetest/test.php

    j'ai enve de créer une erreur 500 dans mon .htaccess pour voir si il est lu par le serveur.
    ça me casse la tête
     
  9. Giustino
    Giustino WRInaute discret
    Inscrit:
    19 Novembre 2011
    Messages:
    141
    J'aime reçus:
    0
    Non en fait tu ne dois pas y accéder directement :)
    Je vois que tu n'as pas bien compris. Le but ici est d'accéder à n'importe quelle url bidon et ça pointera sur ce fichier test.php
    Exemple: tu peux accéder à http://www.plus2notoriete.com/une-url-bidon/hihaaaaa/blabla.html
    En somme, tu ne dois pas accéder directement à test.php sinon tu ne vérifies rien sur le rewriting dans ce cas-ci.

    Mais je vois que tu es prêt à tester n'importe quelle solution alors je vais te donner la plus simple/basique: toutes les urls redirigées sur l'index.php (j'avais évité celà vu que ton site est déjà en ligne mais c'est juste temporaire, histoire de tester...)

    Ton htaccess à la racine:
    Code:
    RewriteEngine on
    RewriteRule   ^.*$   index.php [L]
    
    Test: tu accèdes à n'importe quelle url et tu auras le contenu de ton index affiché.
    Exemple: http://www.plus2notoriete.com/une-url-bidon/hihaaaaa/blabla.html

    Si ça fonctionne, alors tu as bien le rewriting activé.
    Sinon (erreur 404), mes condoléances, tu n'as pas le rewriting activé :D
     
  10. plus2notoriete
    plus2notoriete Nouveau WRInaute
    Inscrit:
    10 Décembre 2012
    Messages:
    6
    J'aime reçus:
    0
    Ok merci, j'ai donc testé et ça marche bien, je retourne maintenant sur mon index avec n'importe quelle url.

    J'ai remis mon htaccess :
    Code:
    RewriteEngine on
    RewriteBase /
    RewriteRule actu.php?id=$2 actualite/([a-zA-Z0-9\-]+)-([0-9]+) [L]
    
    # PHP5
    AddType x-mapp-php5 .php .php4
    AddHandler x-mapp-php5 .php .php4 
    
    Toujours pas de rewrite lorsque je me rend sur /actu.php?id=16 par exemple.
    y'a-t-il une ligne de code à mettre sur mon fichier actu.php qui lui indiquerai d'afficher le-titre-de-mon-actu-16 ?
     
  11. Giustino
    Giustino WRInaute discret
    Inscrit:
    19 Novembre 2011
    Messages:
    141
    J'aime reçus:
    0
    Parfait ! :)

    Encore une fois, tu inverses la logique.
    Tu dois faire l'inverse dans ton cas:

    Code:
    RewriteRule ^actualite/([a-zA-Z0-9\-]+)-([0-9]+)$  actu.php?id=$2 [L]
    
    Maintenant, tu accèdes à la nouvelle adresse actualite/titre-bla-bla-16 et tu obtiendras le même contenu que actu.php?id=16
     
  12. plus2notoriete
    plus2notoriete Nouveau WRInaute
    Inscrit:
    10 Décembre 2012
    Messages:
    6
    J'aime reçus:
    0
    RESOLU Problème Rewriting chez 1&1

    RESOLU !!!!!

    Effectivement j'avais inversé la logique dans mon .htaccess MAIS SURTOUT je croyais que la réecriture se faisait automatiquement, j'avais pas pensé à renseigné correctement mon PHP, mon lien pointait toujours vers actu.php?id=16. :?

    Voici donc mon htaccess
    Code:
    Options +FollowSymlinks
    RewriteEngine on
    RewriteBase /
    RewriteRule blog/([a-zA-Z0-9\-]+)-([0-9]+) actu.php?id=$2  [L]
    
    
    # PHP5
    AddType x-mapp-php5 .php .php4
    AddHandler x-mapp-php5 .php .php4 
    et mon code php pour accéder à l'url réecrite :
    Code:
    <?php { echo "<a href=\"http://www.plus2notoriete.com/blog/{$donnees["url"]}-{$donnees["id"]}\"> {$donnees["titre"]} </a>"; } ?> 
    Donc merci pour votre aide qui m'a poussé à fouiner et à faire des tests ! OUF cette histoire est terminée. :mrgreen: :mrgreen: :wink:
     
Chargement...
Similar Threads - Problème Rewriting 1&1 Forum Date
Problème URL rewriting - 1&1 - impossible de récupérer paramètres URL Rewriting et .htaccess 28 Novembre 2012
Problème URL rewriting URL Rewriting et .htaccess 16 Février 2017
Problème accent URL Rewriting et .htaccess URL Rewriting et .htaccess 4 Novembre 2016
Problème d'url-rewriting sous Nginx Développement d'un site Web ou d'une appli mobile 16 Août 2016
rewriting probleme avec tiret soulignement, espace, accent et. Netlinking, backlinks, liens et redirections 9 Septembre 2015
URL Rewriting qui pose problème URL Rewriting et .htaccess 17 Mars 2015
Probleme d'url double apres url rewriting URL Rewriting et .htaccess 12 Mars 2015
Problème redirection de 404 + Rewriting URL Rewriting et .htaccess 23 Janvier 2015
Augmentation des URL non suivies (Problème Rewriting ?) URL Rewriting et .htaccess 20 Novembre 2014
Problème avec URL rewriting après redirection 301 URL Rewriting et .htaccess 5 Novembre 2014