Problème URL rewriting - 1&1 - impossible de récupérer paramètres

Discussion dans 'URL Rewriting et .htaccess' créé par Vinyl, 28 Novembre 2012.

  1. Vinyl
    Vinyl WRInaute discret
    Inscrit:
    19 Mars 2009
    Messages:
    182
    J'aime reçus:
    0
    Bonjour,

    Je rencontre un problème chez 1&1 mais tout fonctionne en local.

    J’applique une règle de réécriture.

    Si j’accède à ma page non réécrite, pas de problème :
    Mais je si veux accéder à l’url propre :
    Je peux ouvrir la page mais j’ai erreurs php. Le paramètre "cat" n’est pas transmis.

    Si je fais un
    Code:
    echo 'test'.$_GET['cat'];
    , il n’y a rien alors que sur l’url avec paramètre, j'obtiens bien le paramètre.

    J’ai déjà utilisé ces règles chez ovh et ça fonctionnait.

    Vous avez une idée ?

    Mon htaccess :
    Code:
    Options +FollowSymlinks
    RewriteEngine On
    RewriteBase /new
    
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    
    #fonctionne :
    RewriteRule ^toto.html http://www.mon-site.com/new/actualites.php?cat=5&alias=tous [L]
    
    #################################################
    # Réécriture URL
    #################################################
    
    #RewriteRule  ^new/actualites/([0-9]*)-(.*)\.php$  /new/actualites.php?cat=$1&alias=$2 [L]
    Merci.
     
  2. zeb
    zeb WRInaute accro
    Inscrit:
    5 Décembre 2004
    Messages:
    12 190
    J'aime reçus:
    1
    je suppose que le dièse devant cette ligne :
    #RewriteRule ^new/actualites/([0-9]*)-(.*)\.php$ /new/actualites.php?cat=$1&alias=$2 [L]
    N'est pas dans ton htaccess sinon ça risque pas de marcher ;-)

    Sinon as tu essayé :
    RewriteRule ^new/actualites/(*)\-(.*)\.php$ /new/actualites.php?cat=$1&alias=$2 [L]
     
  3. Vinyl
    Vinyl WRInaute discret
    Inscrit:
    19 Mars 2009
    Messages:
    182
    J'aime reçus:
    0
    Oui, le # est une erreur dans mon post.Très bonne idées ton test ! Je n’y avais pas pensé.

    J’obtiens donc une erreur 500 avec :

    Code:
    RewriteRule ^new/actualites/(*)\-(.*)\.php$ /new/actualites.php?cat=$1&alias=$2 [L]
    C’est peut-être une erreur le (*) ?

    Sinon, j’ai essayé avec :

    Code:
    RewriteRule ^new/actualites/(.*)\-(.*)\.php$ /new/actualites.php?cat=$1&alias=$2 [L]
    Et je n’ai pas le paramètre.

    Un truc étonnant, si je commente ma ligne RewriteRule … (comme dans mon 1er post, j’affiche quand même la page actu mais sans les paramètres. Comment est ce possible alors qu’il n’y plus la règle ?
     
  4. zeb
    zeb WRInaute accro
    Inscrit:
    5 Décembre 2004
    Messages:
    12 190
    J'aime reçus:
    1
    C'est peut être un souci d'ordre de tes règles ...

    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d

    situé avant me chiffonne un peut ... j'ai comme l'impression que ça redirige avant ton traitement. De plus c'est ce que j'utilise pour les 404 (de mémoire) donc je comprend pas trop pourquoi c'est avant. Sinon l'oublie du point était une erreur de ma part en effet.

    Si tu n'a que des news dans ce dossier tu pourrait simplifier avec un truc du genre :

    RewriteRule ^new/actualites/(.*) /new/actualites.php?param=$1 [L]
    Et ensuite tu fais le trie en php dans ton script sur la variable 'param'. (en simplifiant c'est parfois plus simple :D (mode idée conne))
     
  5. bgdc
    bgdc WRInaute impliqué
    Inscrit:
    23 Mai 2005
    Messages:
    546
    J'aime reçus:
    0
    ton fichier actualites.php est vraiment dans le répertoire new ?
    Si oui et si tu essayais de le mettre à la racine du site et de virer le new ?
     
  6. Vinyl
    Vinyl WRInaute discret
    Inscrit:
    19 Mars 2009
    Messages:
    182
    J'aime reçus:
    0
    Hello,

    J’avais ajouté ces 2 lignes à force de chercher des solutions. J’avais vu ça sur un forum.

    Mais même si j’enlève ces 2 lignes, j’ai toujours un problème de paramètre.

    Comme je disais, si je fais :

    Code:
    echo 'test paramètre<br />alias: '.$_GET['alias'];
    	
    echo '<br /><br />test paramètre<br />cat : '.$_GET['cat'];
    Je n’obtiens rien sur mon url réécrite. Alors que je récupère bien mes paramètres avec l’url de base.

    J’ai un foreach dans mon php qui plante car si je fais
    Code:
    var_dump($allData);
    , ça me revoit NULL, normal pas de paramètre.

    Mais ma page s’affiche bien, les css, les includes, le javascript et les images sont là par exemple, mais j’ai une belle erreur php à cause de l’absence de paramètres.

    Je vais regarder ton autre solution.

    Mais c’est bizarre que ça fonctionne en local et chez ovh, et pas chez 1&1…
     
  7. Vinyl
    Vinyl WRInaute discret
    Inscrit:
    19 Mars 2009
    Messages:
    182
    J'aime reçus:
    0
    Oui, il est dans mon-site.com/new

    J'ai testé et pareil. Je pensais aussi à un problème de sous répertoire car j'ai eu quelques galères en local avec ça mais que j'ai réglé (c'était pas des problèmes de récupération de paramètres mais des 404).
     
  8. Vinyl
    Vinyl WRInaute discret
    Inscrit:
    19 Mars 2009
    Messages:
    182
    J'aime reçus:
    0
    Hello,

    J’ai fait plein de tests et j’ai l’impression que ma règle fonctionne mal avec les répertoires.

    Cette fois, j’ai mis le .htacess à la racine du serveur et non pas dans le dossier /new/

    (mon site n’est pas à la racine car il y a encore l’ancienne version en production)

    Ne fonctionne pas :

    Code:
    RewriteRule  ^new/actualites/([0-9]*)-(.*)\.php$  /new/actualites.php?cat=$1&alias=$2 [L]
    url testée:
    (dans ce cas, la page est trouvée mais il n’y pas de récupération des paramètres passés dans l’url)

    fonctionne :

    Code:
    RewriteRule  ^([0-9]*)-(.*)\.php$  /new/actualites.php?cat=$1&alias=$2 [L]
    url testée:

    Vous avez une idées ?
     
  9. Vinyl
    Vinyl WRInaute discret
    Inscrit:
    19 Mars 2009
    Messages:
    182
    J'aime reçus:
    0
    Hello,

    Après avoir perdu une journée sur un simple problème d’url rewritting chez 1&1, j’ai enfin trouvé la solution :

    Il faut ajouter –MultiViews dans le .htaccess

    Code:
    Options +FollowSymLinks -MultiViews
     
Chargement...
Similar Threads - Problème rewriting 1&1 Forum Date
Problème Rewriting chez 1&1 URL Rewriting et .htaccess 17 Décembre 2013
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