Webmaster Hub: URL Rewriting - Webmaster Hub

Voir le contenu

Page 1 sur 1
  • Vous ne pouvez pas créer de sujet
  • Vous ne pouvez pas répondre au sujet

URL Rewriting qui dépasse l'entendement Noter le sujet : -----

#1 Utilisateur non-connecté   skale 

  • Voir le blog
  • Groupe : Inactif
  • Messages : 122
  • Inscrit : 22-février 05
  • Localisation:$_GLOBAL['aix en provence']
  • Société:me, myself and i

Posté 25 mai 2005 - 12:07

bonjour,

je viens de galérer une bonne heure à cause d'une règle d'URL Rewriting, pour finalement trouver une solution de remplacement que je ne comprends pas vraiment. C'est à y perdre des cheveux.
Si quelqu'un a une explication, merci d'avance.
Le but étant d'appeler la page suivante www.monsite.com/index.php?r=param1&a=param2 où param1 est un nombre et param2 des caractères avec un tiret possible.

Règle numéro 1, en passant l'URL suivante www.monsite.com/themes/param1/param2.xhtml :
RewriteRule ^themes/([0-9]+)/([a-zA-Z-]+)\.xhtml$ themes.php?r=$1&a=$2 [L]
ça marche pas

Règle numéro 2, en passant l'URL suivante www.monsite.com/themes-param1-param2.xhtml :
RewriteRule ^themes-([0-9]+)-([a-zA-Z-]+)\.xhtml$ themes.php?r=$1&a=$2 [L]
ça marche

Règle numéro 3, en passant l'URL suivante www.monsite.com/theme/param1/param2.xhtml :
RewriteRule ^theme/([0-9]+)/([a-zA-Z-]+)\.xhtml$ themes.php?r=$1&a=$2 [L]
ça marche

J'ai choisi la règle 3 car je veux garder l'idée de sous-répertoires. La règle 1 fonctionnait pourtant sur mon serveur mais pas chez mon hébergeur. Je ne comprends pas pourquoi themes avec s ne marche pas. Ai-je commis une erreur de syntaxe ?

Si quelqu'un peut aussi m'aider pour remplacer [0-9]+ par [:digit:] ou quelque chose dans le genre, c'est possible ?

Merci d'avance,
skale

#2 Utilisateur non-connecté   Compte supprimé 

  • Voir le blog
  • Groupe : Membres
  • Messages : 526
  • Inscrit : 08-novembre 04

Posté 25 mai 2005 - 12:34

Il se trouve que j'ai remarqué exactement la même chose, j'ai psté il y a quelques temps, mais pas de réponse....
http://www.webmaster...showtopic=11451 :boude:

#3 Utilisateur non-connecté   skale 

  • Voir le blog
  • Groupe : Inactif
  • Messages : 122
  • Inscrit : 22-février 05
  • Localisation:$_GLOBAL['aix en provence']
  • Société:me, myself and i

Posté 25 mai 2005 - 12:45

exact, j'avais lu ton post mais 2 mois se sont écoulés depuis et je n'ai pas fait le rapprochement. C'est le même problème. Quelqu'un depuis a bossé et a peut-être trouvé ? C'est quand-même dingue que ça marche avec des - et pas des / on peut effectivement penser à un bug, sinon il y a une réponse qui nous échappe quelquepart. Ou alors c'est une règle à appliquer, le nom du fichier appelé doit être différent du nom du répertoire.

#4 Utilisateur non-connecté   Arlette 

  • Icône
  • Voir le blog
  • Groupe : Direction
  • Messages : 8 662
  • Inscrit : 26-août 03
  • Genre:Femme
  • Localisation:Rognes

Posté 25 mai 2005 - 12:52

Jeroen 26 mars 2005 a dit :

Question sans réponse, Dan (bon anniversaire), tu as forcément eu vent du pb, toi le spécialiste es urlrewriting 

:whistling: C'était le jour de son anniversaire, on peut lui laisser quelques jours de répi pendant cette période ? En rentrant de vacances il aura peut-être zappé le post. C'est pas son genre de ne pas répondre dans ce domaine.

Est-ce que vous avez épluché son article ? La réponse est peut-être tout simplement là ;)

Enfin, il devrait voir ce message maintenant. :gueule: Dan : Ils ont besoin de tes lumière ;)
0

#5 Utilisateur non-connecté   skale 

  • Voir le blog
  • Groupe : Inactif
  • Messages : 122
  • Inscrit : 22-février 05
  • Localisation:$_GLOBAL['aix en provence']
  • Société:me, myself and i

Posté 25 mai 2005 - 12:54

J'apporte une petite précision, parce que la règle 1 qui nous pose problème elle fonctionne sur une version d'Apache 1.3.27 qui tourne sous Windows, mais elle ne fonctionne pas sur une version d'Apache 1.3.3 qui tourne sous linux :blink:

#6 Utilisateur non-connecté   Dan 

  • Webmaster
  • Icône
  • Voir le blog
  • Voir la galerie
  • Groupe : Direction
  • Messages : 21 094
  • Inscrit : 18-août 03
  • Genre:Homme
  • Localisation:St Anne, Alderney
  • Société:Webmaster Hub Ltd.

Posté 25 mai 2005 - 13:18

skale, le mercredi 25 mai 2005, 13h54, a dit :

J'apporte une petite précision, parce que la règle 1 qui nous pose problème elle fonctionne sur une version d'Apache 1.3.27 qui tourne sous Windows, mais elle ne fonctionne pas sur une version d'Apache 1.3.3 qui tourne sous linux :blink:

Parce que sous linux, et selon la config du serveur, un fichier xyz demandé et inexistant forcera la lecture d'un fichier xyz.php ;)

Idem sur le Hub: http://www.webmaster-hub.com/index appelle index.php, et -http://www.webmaster-hub.com/home appelle home.php ;)

Donc avec le s, et comme ce fichier existe avec l'extension .php, c'est celui-ci qui est proposé ... c'est tout bête.

Dan
"Il faut être économe de son mépris, en raison du grand nombre de nécessiteux" (Chateaubriand)
0

#7 Utilisateur non-connecté   Compte supprimé 

  • Voir le blog
  • Groupe : Membres
  • Messages : 526
  • Inscrit : 08-novembre 04

Posté 25 mai 2005 - 13:25

Merci de tes lumières :lol:

Dan, le mercredi 25 mai 2005, 14h18, a dit :

... c'est tout bête.

Je dirais plutôt que c'est un peu bête : quelle utilité d'avoir ce comportement ??

#8 Utilisateur non-connecté   skale 

  • Voir le blog
  • Groupe : Inactif
  • Messages : 122
  • Inscrit : 22-février 05
  • Localisation:$_GLOBAL['aix en provence']
  • Société:me, myself and i

Posté 25 mai 2005 - 13:29

Dan, le mercredi 25 mai 2005, 14h18, a dit :

Donc avec le s, et comme ce fichier existe avec l'extension .php, c'est celui-ci qui est proposé ... c'est tout bête.

non avec la règle 1, aucun fichier n'est proposé, je reçois une erreur 404. En plus, le serveur semble configurer de telle façon, qu'il essaye de trouver d'abord un fichier xml (et il existe) avant le php donc www.monsite.com/themes va envoyer www.monsite.com/themes.xml
il y a autre chose

#9 Utilisateur non-connecté   Dan 

  • Webmaster
  • Icône
  • Voir le blog
  • Voir la galerie
  • Groupe : Direction
  • Messages : 21 094
  • Inscrit : 18-août 03
  • Genre:Homme
  • Localisation:St Anne, Alderney
  • Société:Webmaster Hub Ltd.

Posté 25 mai 2005 - 13:40

Pourtant c'est bien le fait que themes soit suivi d'un / et donc considéré comme un répertoire qui fait que cela se présente.

Vu que le répertoire n'existe pas, Apache va chercher si un fichier portant un basename égal à ce nom existe.
Et manifestement il s'en trouve sur ton site.

Il recherchera dans les extensions qui lui sont connues, et présentera le premier.

Que se passe-t-il lorsque tu appelles themes.xml directement ?

Si tu as possibilité de mettre le debugging à 9, tu pourras voir précisément ce qu'il tente de rechercher.
"Il faut être économe de son mépris, en raison du grand nombre de nécessiteux" (Chateaubriand)
0

#10 Utilisateur non-connecté   skale 

  • Voir le blog
  • Groupe : Inactif
  • Messages : 122
  • Inscrit : 22-février 05
  • Localisation:$_GLOBAL['aix en provence']
  • Société:me, myself and i

Posté 25 mai 2005 - 14:11

Dan, le mercredi 25 mai 2005, 14h40, a dit :

Que se passe-t-il lorsque tu appelles themes.xml directement ?

il affiche le contenu du fichier sans les tags (idem si j'appelle theme). Si j'appelles themes/ j'ai une erreur 404

Dan, le mercredi 25 mai 2005, 14h40, a dit :

Si tu as possibilité de mettre le debugging à 9, tu pourras voir précisément ce qu'il tente de rechercher.

Malheureusement non, je suis en mutualisé, impossible de modifier httpd.conf (RewriteLog "logs/rewrite.log" RewriteLogLevel 9, c'est ça ?)

Cependant je crois savoir ce qu'il cherche, je viens de faire un test tout aussi bête, pas besoin de débuggage, j'ai créé le répertoire themes et maintenant la règle 1 fonctionne. Donc si le fichier appelé a le même nom que le répertoire passé dans l'url, le répertoire doit exister. Je trouve cela quand-même très bizarre.

#11 Utilisateur non-connecté   Dan 

  • Webmaster
  • Icône
  • Voir le blog
  • Voir la galerie
  • Groupe : Direction
  • Messages : 21 094
  • Inscrit : 18-août 03
  • Genre:Homme
  • Localisation:St Anne, Alderney
  • Société:Webmaster Hub Ltd.

Posté 25 mai 2005 - 14:31

skale, le mercredi 25 mai 2005, 15h11, a dit :

Cependant je crois savoir ce qu'il cherche, je viens de faire un test tout aussi bête, pas besoin de débuggage, j'ai créé le répertoire themes et maintenant la règle 1 fonctionne. Donc si le fichier appelé a le même nom que le répertoire passé dans l'url, le répertoire doit exister. Je trouve cela quand-même très bizarre.

Cela confirme tout de même ce que je te disais... non ? ;)
Je sais que c'est un comportement idiot... je vais chercher la raison de celui-ci.
Mais s'il s'agit d'un paramétrage serveur (hors .htaccess) il ne sera pas à ta portée ;)
"Il faut être économe de son mépris, en raison du grand nombre de nécessiteux" (Chateaubriand)
0

#12 Utilisateur non-connecté   Dan 

  • Webmaster
  • Icône
  • Voir le blog
  • Voir la galerie
  • Groupe : Direction
  • Messages : 21 094
  • Inscrit : 18-août 03
  • Genre:Homme
  • Localisation:St Anne, Alderney
  • Société:Webmaster Hub Ltd.

Posté 25 mai 2005 - 14:42

En fait cela vient de l'utilisation de php en module Apache (tu as donc peut-être un fonctionnement en cgi chez toi).
Et c'est lié à la fonction pathinfo() ... qui permet par exemple à dotclear d'avoir des URLs sympathiques sans faire de la réécriture...
Dans le genre: domaine.com/page.php/2004/12/... comme on trouve sur de nombreux sites de presse.

Dans ce cas, on peut laisser tomber l'extension de page.php et écrire l'URL sous la forme domaine.com/page/2004/12/... ce qui "fait plus propre"

Et voilà ;)

Dan
"Il faut être économe de son mépris, en raison du grand nombre de nécessiteux" (Chateaubriand)
0

#13 Utilisateur non-connecté   skale 

  • Voir le blog
  • Groupe : Inactif
  • Messages : 122
  • Inscrit : 22-février 05
  • Localisation:$_GLOBAL['aix en provence']
  • Société:me, myself and i

Posté 25 mai 2005 - 14:49

Dan, le mercredi 25 mai 2005, 15h31, a dit :

Cela confirme tout de même ce que je te disais... non ? ;)

euh oui, le problème vient du répertoire.

Dan, le mercredi 25 mai 2005, 15h31, a dit :

Je sais que c'est un comportement idiot... je vais chercher la raison de celui-ci.

Le comportement est plus qu'idiot même. D'ailleurs j'ai pas encore tout compris, mais bon, maintenant ça marche. Je pense qu'on a éclairé quelques lanternes.

Je présenterai mon nouveau site très bientôt.

Merci,
skale

Page 1 sur 1
  • Vous ne pouvez pas créer de sujet
  • Vous ne pouvez pas répondre au sujet

1 utilisateur(s) dans ce sujet
0 membre(s), 1 invité(s), 0 utilisateur(s) anonyme(s)