URL Rewriting et easyPHP 5.3.2

John Smith
WRInaute impliqué
WRInaute impliqué
 
Messages: 526
Inscription: 4 Avr 2007

URL Rewriting et easyPHP 5.3.2

Message le Jeu Oct 14, 2010 22:49

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 ?

John Smith
WRInaute impliqué
WRInaute impliqué
 
Messages: 526
Inscription: 4 Avr 2007

Re: URL Rewriting et easyPHP 5.3.2

Message le Ven Oct 15, 2010 6:12

La nuit semble porter conseil, j'ai peut-être ma solution ici :

http://forum.webrankinfo.com/url-rewriting-easyphp-0b1-resolu-t97109.html

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

Code: Tout sélectionner
RewriteRule ^inconnu\.html$  /tmp/test.html [L]

par

Code: Tout sélectionner
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 ?


forty
WRInaute passionné
WRInaute passionné
 
Messages: 1701
Inscription: 30 Oct 2008

Re: URL Rewriting et easyPHP 5.3.2

Message le Ven Oct 15, 2010 10:08

je te conseille ce lien pour travailler plus facilement en local : http://www.phpsources.org/developper-un-site-en-local_98.html
ca te permettra d'avoir la même arborescence en local et en prod en définissant un domaine virtuel : tondomaine.local

John Smith
WRInaute impliqué
WRInaute impliqué
 
Messages: 526
Inscription: 4 Avr 2007

Re: URL Rewriting et easyPHP 5.3.2

Message le Ven Oct 15, 2010 10:32

Merci de ta réponse, ça me sera utile en effet. Je vais y jeter un oeil.

John Smith
WRInaute impliqué
WRInaute impliqué
 
Messages: 526
Inscription: 4 Avr 2007

Re: URL Rewriting et easyPHP 5.3.2

Message le Sam Oct 16, 2010 9:31

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: Tout sélectionner
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: Tout sélectionner
http://www.monsite.fr/definition-toto.html


J'ai bien l'ouverture de ma page :

Code: Tout sélectionner
http://www.monsite.fr/index.php?page=definition&terme=toto


En revanche si je rentre :

Code: Tout sélectionner
http://www.monsite.fr/definition-ti-mal.html


Je n'atteins pas ma page :

Code: Tout sélectionner
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 !


forty
WRInaute passionné
WRInaute passionné
 
Messages: 1701
Inscription: 30 Oct 2008

Re: URL Rewriting et easyPHP 5.3.2

Message le Sam Oct 16, 2010 11:07

il faut remplacer [a-z] par [a-z_-]


stone66
WRInaute discret
WRInaute discret
 
Messages: 122
Inscription: 30 Aoû 2010

Re: URL Rewriting et easyPHP 5.3.2

Message le Sam Oct 16, 2010 11:11

il faut que tu prennes en comptes les - tirets en mettant :

Code: Tout sélectionner
RewriteRule ^definition-([a-z+-]+)\.html$   /index.php?page=definition&terme=$1 [L]


j'imagine que si en plus tu mets les _ underscore :
Code: Tout sélectionner
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..

John Smith
WRInaute impliqué
WRInaute impliqué
 
Messages: 526
Inscription: 4 Avr 2007

Re: URL Rewriting et easyPHP 5.3.2

Message le Sam Oct 16, 2010 13:02

J'ai recoupé diverses informations et j'ai finalement opté pour cette écriture :

Code: Tout sélectionner
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 ?


forty
WRInaute passionné
WRInaute passionné
 
Messages: 1701
Inscription: 30 Oct 2008

Re: URL Rewriting et easyPHP 5.3.2

Message le Sam Oct 16, 2010 14:13

si tu mets la règle avec "-en" en premier ca fonctionne.

John Smith
WRInaute impliqué
WRInaute impliqué
 
Messages: 526
Inscription: 4 Avr 2007

Re: URL Rewriting et easyPHP 5.3.2

Message le Sam Oct 16, 2010 15:27

forty a écrit:si tu mets la règle avec "-en" en premier ca fonctionne.


Je pense que oui mais je préfère le mettre en dernier et avec la virgule, je m'affranchis du problème.


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Lectures recommandées sur ce thème :

Consultez la description détaillée des produits ou services de Google suivants : Google goo.gl

  • Analyse de popularité
    Cet outil vous permet d'analyser en détails la "popularité" de votre site sur Google. En plus du nombre de liens pris en compte par Google, il calcule le pourcentage de liens internes parmi tous les liens, et il affiche les premières URL trouvées.
  • Transformer des simples citations de votre site en liens
    Cet outil vous permet de trouver des pages citant votre site mais ne faisant pas (encore) de lien. Il suffira parfois d'un simple mail pour transformer cette simple citation en lien (backlink).


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités