URL Rewriting et easyPHP 5.3.2

WRInaute occasionnel
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 ?
 
WRInaute occasionnel
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 ?
 
WRInaute occasionnel
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 !
 
WRInaute discret
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..
 
WRInaute occasionnel
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 ?
 
Discussions similaires
Haut