Les réecriture d'url ne marche plus

Résolu/Fermé
Darkh62 Messages postés 14 Date d'inscription vendredi 24 août 2012 Statut Membre Dernière intervention 18 octobre 2014 - 16 sept. 2013 à 11:02
Darkh62 Messages postés 14 Date d'inscription vendredi 24 août 2012 Statut Membre Dernière intervention 18 octobre 2014 - 24 sept. 2013 à 17:49
Bonjour,

Depuis quelques jours, je suis assez embêter avec mes réécriture d'url, sur mon site je réécrit toutes mes url, sauf que les url avec par exemple une ID, un titre, ne fonctionne plus depuis 2/3 jours.

Les réécriture marcher très bien en local.

A savoir, qu'avant ça, les réécriture de mon site fonctionner très bien, c'est depuis la refonte de la structure du site.

Mon code htaccess:

Options +FollowSymlinks
RewriteEngine on
AddDefaultCharset UTF-8


<IfModule mod_setenvif.c>
<IfModule mod_headers.c>
BrowserMatch MSIE ie
Header set X-UA-Compatible "IE=Edge,chrome=1" env=ie
</IfModule>
</IfModule>




RewriteRule ^clients/([a-z0-9_.-A-Z]*)-validation-([a-zA-Z0-9_.-]*)\.html$ clients.php?page=$1&token=$2 [L]

RewriteRule ^clients/([a-zA-Z0-9_.-]*)-([a-zA-Z0-9_.-]*)\.html$ clients.php?page=$1&id=$2 [L]

RewriteRule ^clients/([a-z0-9A-Z_.-]*)\.html$ clients.php?page=$1 [L]

RewriteRule ^emploi/([0-9]*)-([a-z0-9_.-]*)\.html$ emploi.php?id=$1&titre=$2 [L]

RewriteRule ^([a-z0-9A-Z_.-]*)\.html$ $1.php [L]

ErrorDocument 404 /erreurs/404.php


Merci d 'avance pour vos réponse,
Darkh62.

2 réponses

[Dal] Messages postés 6198 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 13 décembre 2024 1 096
Modifié par [Dal] le 16/09/2013 à 12:36
Bonjour Darkh62,

Tu dis que la "structure" de ton site a changé.

Comme on ne peux pas deviner ce qui a changé, on ne peut pas t'aider.

Prenons la première :

^clients/([a-z0-9_.-A-Z]*)-validation-([a-zA-Z0-9_.-]*)\.html$ clients.php?page=$1&token=$2

Elle transforme une URL de la forme :

clients/Abcdef12-validation-jklm456.html

en

clients.php?page=Abcdef12&token=jklm456

Qu'est-ce qui n'est plus d'actualité dans ta nouvelle "structure" ?


Dal

P.S. : d'ailleurs
([a-z0-9_.-A-Z]+)
et
([a-zA-Z0-9_.-]+)
seraient mieux, afin de ne pas matcher
clients/-validation-.html
et renvoyer une erreur 404, sinon ton script va se retrouver avec des valeurs vides pour page et/ou token, ce qui n'est sans doutes pas ce qui est attendu.
0
Darkh62 Messages postés 14 Date d'inscription vendredi 24 août 2012 Statut Membre Dernière intervention 18 octobre 2014
16 sept. 2013 à 12:39
Bonjour Dal et merci pour ta réponse,

Lors du changement au niveau de la structure, j'ai un peu modifier tout le site, l'ancien était pas assez propre pour moi, toute la base HTML à été refaire, ensuite mes liens avant les liens été par exemple: https://www.pagesjaunes.fr/

Aucune extension n'était présente, maintenant il posséde tous une extension .html
0
[Dal] Messages postés 6198 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 13 décembre 2024 1 096
16 sept. 2013 à 13:08
Dans ton "exemple" : "https://www.pagesjaunes.fr/" il n'y a pas de "ID", cela ne nous renseigne pas sur ce que tu veux réécrire en quoi.

je disais :

Prenons la première :

^clients/([a-z0-9_.-A-Z]*)-validation-([a-zA-Z0-9_.-]*)\.html$ clients.php?page=$1&token=$2

Elle transforme une URL de la forme :

clients/Abcdef12-validation-jklm456.html

en

clients.php?page=Abcdef12&token=jklm456

Qu'est-ce qui n'est plus d'actualité dans ta nouvelle "structure" ?


Peux-tu répondre stp sur cet exemple précis. Qu'est-ce qui a changé, qui fait que la réécriture ne fonctionne plus.

Ou donne un exemple d'URL apparente et d'URL telle qu'elle devrait être réécrite pour que ton code PHP puisse fonctionner.


Dal
0
Darkh62 Messages postés 14 Date d'inscription vendredi 24 août 2012 Statut Membre Dernière intervention 18 octobre 2014
Modifié par Darkh62 le 16/09/2013 à 13:24
"Qu'est-ce qui n'est plus d'actualité dans ta nouvelle "structure" ? "

Avant de refaire ma structure les liens aurait été par exemple: clients-email et maintenant c'est clients/email.html le format des pages est identique j'appel la page au format: clients.php?page=email

Ce que je ne comprend pas c'est pourquoi les URL marche parfaitement en local et sur OVH seul les url normal fonctionne

PS: Si besoin, je peut fournir le lien du site en MP pour mieux comprendre
0
[Dal] Messages postés 6198 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 13 décembre 2024 1 096
16 sept. 2013 à 14:15
ok, donc, tu dis que tes règles postées dans ton message d'origine fonctionnent avec ta nouvelle "structure" quand tu teste avec un serveur Apache sur ta machine en local, alors que les URL ne sont pas réécrites lorsque tu transfères la même chose sur ton hébergement externe.

c'est donc que tes règles de réécriture sont bonnes et que celles que tu as postées sont les règles telles que tu les réécrites (et non telles qu'elles étaient avant le changement de "structure").

mod_rewrite est il actif sur ton hébergement ?

vérifie avec un

<?php 
phpinfo();
?>

Dal
0
Darkh62 Messages postés 14 Date d'inscription vendredi 24 août 2012 Statut Membre Dernière intervention 18 octobre 2014
16 sept. 2013 à 14:27
mod_rewrite n'est pas indiquer sur phpinfo mais je sait qu'elle sont activé, j'utilise une administration en sous domaine avec des réecriture et celle-ci marche parfaitement. (je viens de vérifier pour en avoir confirmation)
0
[Dal] Messages postés 6198 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 13 décembre 2024 1 096
Modifié par [Dal] le 16/09/2013 à 17:16
Chez moi, "mod_rewrite" apparait dans la partie "Configuration - apache2handler - Loaded Modules" de la sortie de phpinfo().


Dal
0