URL Rewriting et easyPHP 5.3.2

Discussion dans 'Développement d'un site Web ou d'une appli mobile' créé par John Smith, 14 Octobre 2010.

  1. John Smith
    John Smith WRInaute occasionnel
    Inscrit:
    4 Avril 2007
    Messages:
    282
    J'aime reçus:
    2
    Bonsoir à tous,

    M'étant aperçu récemment que j'avais négligé ce point, je me suis mis dans l'idée de mettre en place l'URL rewriting sur mon site. Mais avant tout, je voulais le tester en local. J'ai quand même vérifié que mon hébergeur le gérer, ce qui me semblait évident et en effet en effectuant le fameux test décrit dans un tutoriel de WRI ça a marché. En revanche, en local, que dalle !

    J'ai pourtant modifié le fichier httpd.conf comme suit :
    - décommenter la ligne "LoadModule rewrite_module modules/mod_rewrite.so"
    - remplacer "AllowOverride None" par "AllowOverride All" entre les balises <Directory /> et </Directory>

    en revanche la ligne "AddModule mod_rewrite.c" n'existant plus pour cette version d'easyPHP, je n'ai rien fait.

    Et donc quand j'effectue le test, j'ai une erreur 404.

    En cherchant un peu sur le net je suis tombé sur un forum où une personne avait eu exactement le même problème, à cette adresse : http://www.developpez.net/forums/d838930/webmasters-developpement-web/ ... php-5-3-a/

    Cette personne aurait modifié une autre ligne "AllowOverride None" par "AllowOverride All". Le problème c'est qu'elle ne précisait pas où. Alors j'ai fait un replace sur l'ensemble du fichier httpd.conf en espérant que ça marche. Que dalle ! Ca ne marche toujours pas !


    Alors j'implore votre aide, si comme moi, vous êtes passé à la version 5.3.2 d'easyPHP et que vous utilisez l'URL Rewriting sans problème en local.

    Merci.


    PS : Question subsidiaire qui n'a absolument rien à voir avec le problème exposé plus haut mais tant que j'y suis. Je constate en écrivant mon post qu'il y a un bug pénible qui se manifeste par la disparition de la dernière ligne que je suis en train d'écrire à chaque fois que je tape au clavier. J'ai constaté que j'avais aussi ce problème sur mon vieux PHPBB2. Le problème se manifeste quand le texte est très long. Savez-vous comment résoudre ce désagrément ?
     
  2. John Smith
    John Smith WRInaute occasionnel
    Inscrit:
    4 Avril 2007
    Messages:
    282
    J'aime reçus:
    2
    La nuit semble porter conseil, j'ai peut-être ma solution ici :

    https://www.webrankinfo.com/forum/t/url-rewriting-et-easyphp-2-0b1-resolu.97109/

    Le problème à présent est que si je remplace la ligne :

    Code:
    RewriteRule ^inconnu\.html$  /tmp/test.html [L]
    par

    Code:
    RewriteRule ^inconnu\.html$  http://localhost/monsite/tmp/test.html [L]
    dans mon .htaccess.

    J'ai un soucis, car monsite en local contient des espaces qui dans l'url apparaissent en %20. Et les %20 ne marchent pas dans le .htaccess.
    Par ailleurs, est-ce que je dois gérer un fichier .htaccess pour les tests en local et un autre pour celui en ligne ? C'est un peu contraignant... Y-a-t-il une autre solution ?
     
  3. forty
    forty WRInaute passionné
    Inscrit:
    30 Octobre 2008
    Messages:
    1 929
    J'aime reçus:
    0
  4. John Smith
    John Smith WRInaute occasionnel
    Inscrit:
    4 Avril 2007
    Messages:
    282
    J'aime reçus:
    2
    Merci de ta réponse, ça me sera utile en effet. Je vais y jeter un oeil.
     
  5. John Smith
    John Smith WRInaute occasionnel
    Inscrit:
    4 Avril 2007
    Messages:
    282
    J'aime reçus:
    2
    Bon eh bien, en suivant toutes ces recommandation, ça semble marchait mieux, cependant, je suis confronté à un autre problème.

    Dans mon .htaccess, j'ai des règles du genre :

    Code:
    RewriteRule ^definition-([a-z]+)\.html$   /index.php?page=definition&terme=$1 [L]
    RewriteRule ^definition-([a-z]+)-en\.html$   /index.php?page=definition&terme=$1&lang=en [L]
    Qui me donne la définition d'un terme respectivement en français et en anglais. Tout marche nickel, sauf dans le cas où j'ai un tiret "-" dans terme.

    Par exemple, si je tape :

    Code:
    http://www.monsite.fr/definition-toto.html
    J'ai bien l'ouverture de ma page :

    Code:
    http://www.monsite.fr/index.php?page=definition&terme=toto
    En revanche si je rentre :

    Code:
    http://www.monsite.fr/definition-ti-mal.html
    Je n'atteins pas ma page :

    Code:
    http://www.monsite.fr/index.php?page=definition&terme=ti-mal
    Aves-vous une solution à m'apporter pour ce problème ?

    Merci.



    PS : J'ai le même soucis avec le underscore "_" avec lequel j'ai une erreur 404 !
     
  6. forty
    forty WRInaute passionné
    Inscrit:
    30 Octobre 2008
    Messages:
    1 929
    J'aime reçus:
    0
    il faut remplacer [a-z] par [a-z_-]
     
  7. stone66
    stone66 WRInaute discret
    Inscrit:
    30 Août 2010
    Messages:
    176
    J'aime reçus:
    0
    il faut que tu prennes en comptes les - tirets en mettant :

    Code:
    RewriteRule ^definition-([a-z+-]+)\.html$   /index.php?page=definition&terme=$1 [L]
    j'imagine que si en plus tu mets les _ underscore :
    Code:
    RewriteRule ^definition-([a-z+-_]+)\.html$   /index.php?page=definition&terme=$1 [L]
    ca devrait fonctionner, mais evite d'utiliser les _ dans tes noms de fichier.

    tu tests et tu nous dit..
     
  8. John Smith
    John Smith WRInaute occasionnel
    Inscrit:
    4 Avril 2007
    Messages:
    282
    J'aime reçus:
    2
    J'ai recoupé diverses informations et j'ai finalement opté pour cette écriture :

    Code:
    RewriteRule ^definition-([-_a-zA-Z0-9]+)\.html$   /index.php?page=definition&terme=$1 [L]
    RewriteRule ^definition-([-_a-zA-Z0-9]+),en\.html$   /index.php?page=definition&terme=$1&lang=en [L]
    Pour la prise en compte de l'anglais, j'ai mis une virgule, parce que le tiret posait évidemment problème. Avec ça, je m'en sors.

    Merci à tous.

    Et pour ce qui est du problème d'affichage du textarea quand on tape un texte trop long dans le forum PHPBB, vous avez une idée ?
     
  9. forty
    forty WRInaute passionné
    Inscrit:
    30 Octobre 2008
    Messages:
    1 929
    J'aime reçus:
    0
    si tu mets la règle avec "-en" en premier ca fonctionne.
     
  10. John Smith
    John Smith WRInaute occasionnel
    Inscrit:
    4 Avril 2007
    Messages:
    282
    J'aime reçus:
    2
    Je pense que oui mais je préfère le mettre en dernier et avec la virgule, je m'affranchis du problème.
     
Chargement...
Similar Threads - Rewriting easyPHP Forum Date
Easyphp et URL Rewriting Débuter en référencement 29 Juillet 2010
[résolu] Erreur 500 avec EasyPHP 5.3.0 et les URL rewriting URL Rewriting et .htaccess 10 Février 2010
supprimer /index.html sans url rewriting, possible ? URL Rewriting et .htaccess 13 Novembre 2019
Je bloque sur le rewriting des URL contenant un ? URL Rewriting et .htaccess 3 Septembre 2019
récupération du get après rewriting URL Rewriting et .htaccess 21 Juin 2019
Ralentissement url rewriting URL Rewriting et .htaccess 1 Mai 2019
URL Rewriting Débuter en référencement 17 Avril 2019
Conflit de redirection 301 et Urlrewriting Netlinking, backlinks, liens et redirections 20 Février 2019
URL REWRITING et redirection 301 URL Rewriting et .htaccess 24 Janvier 2019
URL Rewriting : difficultés avec RewriteCond ? URL Rewriting et .htaccess 5 Décembre 2018
  1. Ce site utilise des cookies. En continuant à utiliser ce site, vous acceptez l'utilisation des cookies.
    Rejeter la notice