Réécriture d'URL et erreur 500

Discussion dans 'URL Rewriting et .htaccess' créé par benjibenji, 12 Avril 2014.

  1. benjibenji
    benjibenji Nouveau WRInaute
    Inscrit:
    18 Janvier 2009
    Messages:
    5
    J'aime reçus:
    0
    Bonjour tout le monde,

    Je viens vers vous car je rencontre un ou deux soucis que je ne m'explique pas avec une règle de réécriture. Ceci dit, je suis un bon gros débutant en la matière, alors je ne m'explique pas grand chose ^^ (mais ne demande qu'à comprendre).

    Je cherche à réécrire proprement une URL de la forme: www.monsite.fr/dossier/page.php?p=nom
    Vers la forme suivante : www.monsite.fr/dossier/nom.php
    Tout simplement.

    J'ai donc pondu la règle suivante dans un .htaccess situé à la racine dudit dossier :
    Code:
    Options +FollowSymlinks
    RewriteEngine on
    RewriteRule ^([a-zA-Z0-9]+)\.php$ /dossier/page.php?p=$1 [L]
    Qui marche bien, mais qui présente deux problèmes jusqu'ici insolvables pour moi :
    1/ Lorsque je veux accéder à l'adresse /dossier/ , la règle est prise en compte et je ne peux donc pas afficher la page index.php correspondante à la racine de ce dossier (erreur 404).
    2. Si le nom est d'un seul tenant, tout va bien. Mais si le nom est de la forme "nom-composé", alors ça se complique.

    Du coup j'ai essayé de rajouter le tiret dans ma règle de réécriture, de cette façon :
    Code:
    RewriteRule ^([a-zA-Z0-9-]+)\.php$ /dossier/page.php?p=$1 [L]
    La syntaxe est validée sur tous les testeurs de regex que j'ai pu faire, mais me provoque une erreur 500...

    Y aurait-il des connaisseurs dans le coin, pour m'expliquer que mon problème est en fait d'une simplicité enfantine ? :(
     
  2. benjibenji
    benjibenji Nouveau WRInaute
    Inscrit:
    18 Janvier 2009
    Messages:
    5
    J'aime reçus:
    0
    RewriteRule (.*) = erreur 500

    Bonjour,
    Je n'édite pas le précédent message parce que je crois que cet ajout peut être important.

    Si j'écris ma règle de cette façon :
    Code:
    RewriteRule ^(.*)\.php$ /dossier/source.php?c=$1 [L]
    J'obtiens une erreur 500 pour tout le répertoire "/dossier/".
    (Alors que je souhaiterais accéder à /dossier/cequejeveux.php)

    Par contre, si je m'amuse à faire ceci :
    Code:
    RewriteRule ^salut-coucou-(.*)\.php$ /dossier/source.php?c=$1 [L]
    Et que je tente d'accéder à /dossier/salut-coucou-toutcequejeveux.php
    Là, aucun problème, ça marche parfaitement.

    Alors je me dis que ça peut être :
    - ce qu'on appelle "une erreur de syntaxe à la con",
    - un conflit avec d'autres règles (mais cette nuit j'ai essayé avec un fichier .htaccess refait à neuf, et sauf erreur de ma part, même résultat).
    - Un souci chez l'hébergeur ? (OVH - mutualisé).

    Dit comme ça, est-ce que quelqu'un arrive à y voir plus clair svp ?
     
Chargement...
Similar Threads - Réécriture erreur 500 Forum Date
Erreur 500 après réecriture URL URL Rewriting et .htaccess 30 Décembre 2014
Erreurs d'Exploration Google suite à une mauvaise réécriture... URL Rewriting et .htaccess 7 Avril 2011
Comment faire une redirection des URL en + de la réécriture d'URL ? URL Rewriting et .htaccess 13 Septembre 2020
Réécriture d'articles, est-ce une bonne idée de couper ses articles? Rédaction web et référencement 25 Mai 2020
Réécriture et robots.txt Débuter en référencement 10 Octobre 2019
Réécriture HTTPS / WWW / redirect, etc ... URL Rewriting et .htaccess 10 Juin 2019
Réecriture simple qui ne fonctionne pas URL Rewriting et .htaccess 20 Février 2019
Faire une redirection 301 et une réécriture en même temps (.htaccess) URL Rewriting et .htaccess 16 Décembre 2018
Réécriture url et htaccess URL Rewriting et .htaccess 3 Octobre 2018
Réecriture url sur Shopify e-commerce 15 Juin 2017