File::Spec->abs2rel renvoie parfois un chemin absolu...
7 réponses
Manuel Pégourié-Gonnard
Bonjour,
Je suis parfois surpris par le résultat renvoyé par abs2rel() de
File::Spec::Functions. Par exemple :
abs2rel('/', '/')
renvoie '/' alors que je m'attendrais plus à '.' en fait. ('/' n'est pas
ce que j'ai l'habitude d'appeler un chemin relatif, et abs2rel('/foo/',
'/foo/') renvoie '.' comme je m'y attends).
Vu qu'il s'agit d'un module de base de Perl, je doute qu'il s'agisse
d'un bug, donc je me dis que c'est sans doute moi qui n'ai pas compris
la logique de la chose.
Qu'en pensez-vous ?
--
Manuel Pégourié-Gonnard Institut de mathématiques de Jussieu
http://weblog.elzevir.fr/ http://people.math.jussieu.fr/~mpg/
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
espie
In article <heed6e$1ih1$, Manuel Pégourié-Gonnard wrote:
Bonjour,
Je suis parfois surpris par le résultat renvoyé par abs2rel() de File::Spec::Functions. Par exemple :
abs2rel('/', '/')
renvoie '/' alors que je m'attendrais plus à '.' en fait. ('/' n'est pas ce que j'ai l'habitude d'appeler un chemin relatif, et abs2rel('/foo/', '/foo/') renvoie '.' comme je m'y attends).
Vu qu'il s'agit d'un module de base de Perl, je doute qu'il s'agisse d'un bug, donc je me dis que c'est sans doute moi qui n'ai pas compris la logique de la chose.
Qu'en pensez-vous ?
Ca m'a tout l'air d'un bug.
In article <heed6e$1ih1$1@talisker.lacave.net>,
Manuel Pégourié-Gonnard <mpg@elzevir.fr> wrote:
Bonjour,
Je suis parfois surpris par le résultat renvoyé par abs2rel() de
File::Spec::Functions. Par exemple :
abs2rel('/', '/')
renvoie '/' alors que je m'attendrais plus à '.' en fait. ('/' n'est pas
ce que j'ai l'habitude d'appeler un chemin relatif, et abs2rel('/foo/',
'/foo/') renvoie '.' comme je m'y attends).
Vu qu'il s'agit d'un module de base de Perl, je doute qu'il s'agisse
d'un bug, donc je me dis que c'est sans doute moi qui n'ai pas compris
la logique de la chose.
In article <heed6e$1ih1$, Manuel Pégourié-Gonnard wrote:
Bonjour,
Je suis parfois surpris par le résultat renvoyé par abs2rel() de File::Spec::Functions. Par exemple :
abs2rel('/', '/')
renvoie '/' alors que je m'attendrais plus à '.' en fait. ('/' n'est pas ce que j'ai l'habitude d'appeler un chemin relatif, et abs2rel('/foo/', '/foo/') renvoie '.' comme je m'y attends).
Vu qu'il s'agit d'un module de base de Perl, je doute qu'il s'agisse d'un bug, donc je me dis que c'est sans doute moi qui n'ai pas compris la logique de la chose.
Qu'en pensez-vous ?
Ca m'a tout l'air d'un bug.
Paul Gaborit
À (at) Mon, 23 Nov 2009 16:39:18 +0000 (UTC), (Marc Espie) écrivait (wrote):
In article <heed6e$1ih1$, Manuel Pégourié-Gonnard wrote:
Bonjour,
Je suis parfois surpris par le résultat renvoyé par abs2rel() de File::Spec::Functions. Par exemple :
abs2rel('/', '/')
renvoie '/' alors que je m'attendrais plus à '.' en fait. ('/' n'est pas ce que j'ai l'habitude d'appeler un chemin relatif, et abs2rel('/foo/', '/foo/') renvoie '.' comme je m'y attends).
Vu qu'il s'agit d'un module de base de Perl, je doute qu'il s'agisse d'un bug, donc je me dis que c'est sans doute moi qui n'ai pas compris la logique de la chose.
Qu'en pensez-vous ?
Ca m'a tout l'air d'un bug.
Oui sans doute.. Mais d'un autre côté, ce n'est pas complètement faux. Un chemin relatif à la racine est toujours un chemin absolu. En fait, cela dépend du point de vue. ;-)
Sans trop y réfléchir, je ne vois pas de situation où ce cas particulier pourrait poser des problèmes... mais je me trompe peut-être.
-- Paul Gaborit - <http://perso.mines-albi.fr/~gaborit/> Perl en français - <http://perl.mines-albi.fr/>
À (at) Mon, 23 Nov 2009 16:39:18 +0000 (UTC),
espie@lain.home (Marc Espie) écrivait (wrote):
In article <heed6e$1ih1$1@talisker.lacave.net>,
Manuel Pégourié-Gonnard <mpg@elzevir.fr> wrote:
Bonjour,
Je suis parfois surpris par le résultat renvoyé par abs2rel() de
File::Spec::Functions. Par exemple :
abs2rel('/', '/')
renvoie '/' alors que je m'attendrais plus à '.' en fait. ('/' n'est pas
ce que j'ai l'habitude d'appeler un chemin relatif, et abs2rel('/foo/',
'/foo/') renvoie '.' comme je m'y attends).
Vu qu'il s'agit d'un module de base de Perl, je doute qu'il s'agisse
d'un bug, donc je me dis que c'est sans doute moi qui n'ai pas compris
la logique de la chose.
Qu'en pensez-vous ?
Ca m'a tout l'air d'un bug.
Oui sans doute.. Mais d'un autre côté, ce n'est pas complètement
faux. Un chemin relatif à la racine est toujours un chemin absolu. En
fait, cela dépend du point de vue. ;-)
Sans trop y réfléchir, je ne vois pas de situation où ce cas
particulier pourrait poser des problèmes... mais je me trompe
peut-être.
--
Paul Gaborit - <http://perso.mines-albi.fr/~gaborit/>
Perl en français - <http://perl.mines-albi.fr/>
À (at) Mon, 23 Nov 2009 16:39:18 +0000 (UTC), (Marc Espie) écrivait (wrote):
In article <heed6e$1ih1$, Manuel Pégourié-Gonnard wrote:
Bonjour,
Je suis parfois surpris par le résultat renvoyé par abs2rel() de File::Spec::Functions. Par exemple :
abs2rel('/', '/')
renvoie '/' alors que je m'attendrais plus à '.' en fait. ('/' n'est pas ce que j'ai l'habitude d'appeler un chemin relatif, et abs2rel('/foo/', '/foo/') renvoie '.' comme je m'y attends).
Vu qu'il s'agit d'un module de base de Perl, je doute qu'il s'agisse d'un bug, donc je me dis que c'est sans doute moi qui n'ai pas compris la logique de la chose.
Qu'en pensez-vous ?
Ca m'a tout l'air d'un bug.
Oui sans doute.. Mais d'un autre côté, ce n'est pas complètement faux. Un chemin relatif à la racine est toujours un chemin absolu. En fait, cela dépend du point de vue. ;-)
Sans trop y réfléchir, je ne vois pas de situation où ce cas particulier pourrait poser des problèmes... mais je me trompe peut-être.
-- Paul Gaborit - <http://perso.mines-albi.fr/~gaborit/> Perl en français - <http://perl.mines-albi.fr/>
Manuel Pégourié-Gonnard
Paul Gaborit scripsit :
À (at) Mon, 23 Nov 2009 16:39:18 +0000 (UTC), (Marc Espie) écrivait (wrote):
In article <heed6e$1ih1$, Manuel Pégourié-Gonnard wrote:
Qu'en pensez-vous ?
Ca m'a tout l'air d'un bug.
Oui sans doute.. Mais d'un autre côté, ce n'est pas complètement faux. Un chemin relatif à la racine est toujours un chemin absolu. En fait, cela dépend du point de vue. ;-)
Sans trop y réfléchir, je ne vois pas de situation où ce cas particulier pourrait poser des problèmes... mais je me trompe peut-être.
La situation où ça m'a embêté est la suivante : un ensemble de pages web qui pour l'instant utilisaient href="/" comme lien vers la page d'accueil, et que je voulais remplacer par des liens relatifs de façon à pouvoir déplacer ces pages dans un sous-répertoire. Je repère les pages par leur chemin depuis l'accueil, de sorte que l'identifiant de la page d'accueil est '/'.
Finalement j'ai utilisé le contournement suivant, qui suppose que les arguments commencent tous les deux par '/'.
sub abs_to_rel { my ($file, $base) = @_; return File::Spec->abs2rel("/dummy$file", "/dummy$base"); }
-- Manuel Pégourié-Gonnard Institut de mathématiques de Jussieu http://weblog.elzevir.fr/ http://people.math.jussieu.fr/~mpg/
Paul Gaborit scripsit :
À (at) Mon, 23 Nov 2009 16:39:18 +0000 (UTC),
espie@lain.home (Marc Espie) écrivait (wrote):
In article <heed6e$1ih1$1@talisker.lacave.net>,
Manuel Pégourié-Gonnard <mpg@elzevir.fr> wrote:
Qu'en pensez-vous ?
Ca m'a tout l'air d'un bug.
Oui sans doute.. Mais d'un autre côté, ce n'est pas complètement
faux. Un chemin relatif à la racine est toujours un chemin absolu. En
fait, cela dépend du point de vue. ;-)
Sans trop y réfléchir, je ne vois pas de situation où ce cas
particulier pourrait poser des problèmes... mais je me trompe
peut-être.
La situation où ça m'a embêté est la suivante : un ensemble de pages web
qui pour l'instant utilisaient href="/" comme lien vers la page
d'accueil, et que je voulais remplacer par des liens relatifs de façon à
pouvoir déplacer ces pages dans un sous-répertoire. Je repère les pages
par leur chemin depuis l'accueil, de sorte que l'identifiant de la page
d'accueil est '/'.
Finalement j'ai utilisé le contournement suivant, qui suppose que les
arguments commencent tous les deux par '/'.
sub abs_to_rel {
my ($file, $base) = @_;
return File::Spec->abs2rel("/dummy$file", "/dummy$base");
}
--
Manuel Pégourié-Gonnard Institut de mathématiques de Jussieu
http://weblog.elzevir.fr/ http://people.math.jussieu.fr/~mpg/
À (at) Mon, 23 Nov 2009 16:39:18 +0000 (UTC), (Marc Espie) écrivait (wrote):
In article <heed6e$1ih1$, Manuel Pégourié-Gonnard wrote:
Qu'en pensez-vous ?
Ca m'a tout l'air d'un bug.
Oui sans doute.. Mais d'un autre côté, ce n'est pas complètement faux. Un chemin relatif à la racine est toujours un chemin absolu. En fait, cela dépend du point de vue. ;-)
Sans trop y réfléchir, je ne vois pas de situation où ce cas particulier pourrait poser des problèmes... mais je me trompe peut-être.
La situation où ça m'a embêté est la suivante : un ensemble de pages web qui pour l'instant utilisaient href="/" comme lien vers la page d'accueil, et que je voulais remplacer par des liens relatifs de façon à pouvoir déplacer ces pages dans un sous-répertoire. Je repère les pages par leur chemin depuis l'accueil, de sorte que l'identifiant de la page d'accueil est '/'.
Finalement j'ai utilisé le contournement suivant, qui suppose que les arguments commencent tous les deux par '/'.
sub abs_to_rel { my ($file, $base) = @_; return File::Spec->abs2rel("/dummy$file", "/dummy$base"); }
-- Manuel Pégourié-Gonnard Institut de mathématiques de Jussieu http://weblog.elzevir.fr/ http://people.math.jussieu.fr/~mpg/
espie
In article <heeilv$28d8$, Manuel Pégourié-Gonnard wrote:
La situation où ça m'a embêté est la suivante : un ensemble de pages web qui pour l'instant utilisaient href="/" comme lien vers la page d'accueil, et que je voulais remplacer par des liens relatifs de façon à pouvoir déplacer ces pages dans un sous-répertoire. Je repère les pages par leur chemin depuis l'accueil, de sorte que l'identifiant de la page d'accueil est '/'.
Finalement j'ai utilisé le contournement suivant, qui suppose que les arguments commencent tous les deux par '/'.
sub abs_to_rel { my ($file, $base) = @_; return File::Spec->abs2rel("/dummy$file", "/dummy$base"); }
Pas sur que abs2rel soit de toutes facons la totalite de la solution pour ce cas precis, puisque tu consideres des url, qui ne sont pas forcement des chemins au sens classique Unix. En particulier, tu gagneras sans doute a canonicaliser tes url, sauf si tu es sur de ne jamais avoir de soucis cote liens (pas un gros fan du .. dans l'url).
Mais bon, si on veut deplacer des trucs d'un endroit a l'autre, ben faudrait pouvoir obtenir / -> .
Methode: j'ai un chemin absolu initial (ici /) que je veux rendre relatif a sa racine courante (/), ce qui va me donner .
Je le deplace ailleurs, par exemple, en /rootme
si pwd = /rootme, alors . fait reference a /rootme, tandis que / fait toujours reference a /
Je sais pas vous, mais pour moi c'est clair...
In article <heeilv$28d8$1@talisker.lacave.net>,
Manuel Pégourié-Gonnard <mpg@elzevir.fr> wrote:
La situation où ça m'a embêté est la suivante : un ensemble de pages web
qui pour l'instant utilisaient href="/" comme lien vers la page
d'accueil, et que je voulais remplacer par des liens relatifs de façon à
pouvoir déplacer ces pages dans un sous-répertoire. Je repère les pages
par leur chemin depuis l'accueil, de sorte que l'identifiant de la page
d'accueil est '/'.
Finalement j'ai utilisé le contournement suivant, qui suppose que les
arguments commencent tous les deux par '/'.
sub abs_to_rel {
my ($file, $base) = @_;
return File::Spec->abs2rel("/dummy$file", "/dummy$base");
}
Pas sur que abs2rel soit de toutes facons la totalite de la solution pour
ce cas precis, puisque tu consideres des url, qui ne sont pas forcement
des chemins au sens classique Unix. En particulier, tu gagneras sans doute
a canonicaliser tes url, sauf si tu es sur de ne jamais avoir de soucis cote
liens (pas un gros fan du .. dans l'url).
Mais bon, si on veut deplacer des trucs d'un endroit a l'autre, ben faudrait
pouvoir obtenir / -> .
Methode: j'ai un chemin absolu initial (ici /) que je veux rendre relatif a
sa racine courante (/), ce qui va me donner .
Je le deplace ailleurs, par exemple, en /rootme
si pwd = /rootme, alors . fait reference a /rootme, tandis que / fait toujours
reference a /
In article <heeilv$28d8$, Manuel Pégourié-Gonnard wrote:
La situation où ça m'a embêté est la suivante : un ensemble de pages web qui pour l'instant utilisaient href="/" comme lien vers la page d'accueil, et que je voulais remplacer par des liens relatifs de façon à pouvoir déplacer ces pages dans un sous-répertoire. Je repère les pages par leur chemin depuis l'accueil, de sorte que l'identifiant de la page d'accueil est '/'.
Finalement j'ai utilisé le contournement suivant, qui suppose que les arguments commencent tous les deux par '/'.
sub abs_to_rel { my ($file, $base) = @_; return File::Spec->abs2rel("/dummy$file", "/dummy$base"); }
Pas sur que abs2rel soit de toutes facons la totalite de la solution pour ce cas precis, puisque tu consideres des url, qui ne sont pas forcement des chemins au sens classique Unix. En particulier, tu gagneras sans doute a canonicaliser tes url, sauf si tu es sur de ne jamais avoir de soucis cote liens (pas un gros fan du .. dans l'url).
Mais bon, si on veut deplacer des trucs d'un endroit a l'autre, ben faudrait pouvoir obtenir / -> .
Methode: j'ai un chemin absolu initial (ici /) que je veux rendre relatif a sa racine courante (/), ce qui va me donner .
Je le deplace ailleurs, par exemple, en /rootme
si pwd = /rootme, alors . fait reference a /rootme, tandis que / fait toujours reference a /
Je sais pas vous, mais pour moi c'est clair...
Paul Gaborit
À (at) Mon, 23 Nov 2009 19:01:36 +0100 (CET), Manuel Pégourié-Gonnard écrivait (wrote):
Paul Gaborit scripsit :
À (at) Mon, 23 Nov 2009 16:39:18 +0000 (UTC), (Marc Espie) écrivait (wrote):
In article <heed6e$1ih1$, Manuel Pégourié-Gonnard wrote:
Qu'en pensez-vous ?
Ca m'a tout l'air d'un bug.
Oui sans doute.. Mais d'un autre côté, ce n'est pas complètement faux. Un chemin relatif à la racine est toujours un chemin absolu. En fait, cela dépend du point de vue. ;-)
Sans trop y réfléchir, je ne vois pas de situation où ce cas particulier pourrait poser des problèmes... mais je me trompe peut-être.
La situation où ça m'a embêté est la suivante : un ensemble de pages web qui pour l'instant utilisaient href="/" comme lien vers la page d'accueil, et que je voulais remplacer par des liens relatifs de façon à pouvoir déplacer ces pages dans un sous-répertoire. Je repère les pages par leur chemin depuis l'accueil, de sorte que l'identifiant de la page d'accueil est '/'.
Finalement j'ai utilisé le contournement suivant, qui suppose que les arguments commencent tous les deux par '/'.
sub abs_to_rel { my ($file, $base) = @_; return File::Spec->abs2rel("/dummy$file", "/dummy$base"); }
Pourquoi ne pas utiliser URI ? C'est fait pour gérer des URL (entre autres) et la méthode 'rel' semble fonctionner comme tu le souhaites :
-- Paul Gaborit - <http://perso.mines-albi.fr/~gaborit/> Perl en français - <http://perl.mines-albi.fr/>
À (at) Mon, 23 Nov 2009 19:01:36 +0100 (CET),
Manuel Pégourié-Gonnard <mpg@elzevir.fr> écrivait (wrote):
Paul Gaborit scripsit :
À (at) Mon, 23 Nov 2009 16:39:18 +0000 (UTC),
espie@lain.home (Marc Espie) écrivait (wrote):
In article <heed6e$1ih1$1@talisker.lacave.net>,
Manuel Pégourié-Gonnard <mpg@elzevir.fr> wrote:
Qu'en pensez-vous ?
Ca m'a tout l'air d'un bug.
Oui sans doute.. Mais d'un autre côté, ce n'est pas complètement
faux. Un chemin relatif à la racine est toujours un chemin absolu. En
fait, cela dépend du point de vue. ;-)
Sans trop y réfléchir, je ne vois pas de situation où ce cas
particulier pourrait poser des problèmes... mais je me trompe
peut-être.
La situation où ça m'a embêté est la suivante : un ensemble de pages web
qui pour l'instant utilisaient href="/" comme lien vers la page
d'accueil, et que je voulais remplacer par des liens relatifs de façon à
pouvoir déplacer ces pages dans un sous-répertoire. Je repère les pages
par leur chemin depuis l'accueil, de sorte que l'identifiant de la page
d'accueil est '/'.
Finalement j'ai utilisé le contournement suivant, qui suppose que les
arguments commencent tous les deux par '/'.
sub abs_to_rel {
my ($file, $base) = @_;
return File::Spec->abs2rel("/dummy$file", "/dummy$base");
}
Pourquoi ne pas utiliser URI ? C'est fait pour gérer des URL (entre
autres) et la méthode 'rel' semble fonctionner comme tu le souhaites :
À (at) Mon, 23 Nov 2009 19:01:36 +0100 (CET), Manuel Pégourié-Gonnard écrivait (wrote):
Paul Gaborit scripsit :
À (at) Mon, 23 Nov 2009 16:39:18 +0000 (UTC), (Marc Espie) écrivait (wrote):
In article <heed6e$1ih1$, Manuel Pégourié-Gonnard wrote:
Qu'en pensez-vous ?
Ca m'a tout l'air d'un bug.
Oui sans doute.. Mais d'un autre côté, ce n'est pas complètement faux. Un chemin relatif à la racine est toujours un chemin absolu. En fait, cela dépend du point de vue. ;-)
Sans trop y réfléchir, je ne vois pas de situation où ce cas particulier pourrait poser des problèmes... mais je me trompe peut-être.
La situation où ça m'a embêté est la suivante : un ensemble de pages web qui pour l'instant utilisaient href="/" comme lien vers la page d'accueil, et que je voulais remplacer par des liens relatifs de façon à pouvoir déplacer ces pages dans un sous-répertoire. Je repère les pages par leur chemin depuis l'accueil, de sorte que l'identifiant de la page d'accueil est '/'.
Finalement j'ai utilisé le contournement suivant, qui suppose que les arguments commencent tous les deux par '/'.
sub abs_to_rel { my ($file, $base) = @_; return File::Spec->abs2rel("/dummy$file", "/dummy$base"); }
Pourquoi ne pas utiliser URI ? C'est fait pour gérer des URL (entre autres) et la méthode 'rel' semble fonctionner comme tu le souhaites :
En effet. Je ne l'ai pas utilisé parce que je ne connaissais pas et n'avais pas pensé à chercher, mais visiblement c'était plus adapté. Bon, j'avais fini par m'en sortir avec File::Spec, donc je ne vais peut-être pas ré-écrire le truc maintenant, mais je garde ça sous le coude pour une prochaine fois.
-- Manuel Pégourié-Gonnard Institut de mathématiques de Jussieu http://weblog.elzevir.fr/ http://people.math.jussieu.fr/~mpg/
Paul Gaborit scripsit :
Pourquoi ne pas utiliser URI ? C'est fait pour gérer des URL (entre
autres) et la méthode 'rel' semble fonctionner comme tu le souhaites :
En effet. Je ne l'ai pas utilisé parce que je ne connaissais pas et
n'avais pas pensé à chercher, mais visiblement c'était plus adapté.
Bon, j'avais fini par m'en sortir avec File::Spec, donc je ne vais
peut-être pas ré-écrire le truc maintenant, mais je garde ça sous le
coude pour une prochaine fois.
--
Manuel Pégourié-Gonnard Institut de mathématiques de Jussieu
http://weblog.elzevir.fr/ http://people.math.jussieu.fr/~mpg/
En effet. Je ne l'ai pas utilisé parce que je ne connaissais pas et n'avais pas pensé à chercher, mais visiblement c'était plus adapté. Bon, j'avais fini par m'en sortir avec File::Spec, donc je ne vais peut-être pas ré-écrire le truc maintenant, mais je garde ça sous le coude pour une prochaine fois.
-- Manuel Pégourié-Gonnard Institut de mathématiques de Jussieu http://weblog.elzevir.fr/ http://people.math.jussieu.fr/~mpg/
Manuel Pégourié-Gonnard
Marc Espie scripsit :
Pas sur que abs2rel soit de toutes facons la totalite de la solution pour ce cas precis, puisque tu consideres des url, qui ne sont pas forcement des chemins au sens classique Unix.
Disons que je travaille uniquement sur la partie qui correspond plus ou moins dans les faits à un chemin Unix. Mais comme le fait remarquer Paul, URI aurait effectivement été plus adapté.
En particulier, tu gagneras sans doute a canonicaliser tes url, sauf si tu es sur de ne jamais avoir de soucis cote liens (pas un gros fan du .. dans l'url).
Normalement, je m'en sert uniquement pour des liens comme
Il me semble que dans ce cas, l'URL sera construite par l'agent utilisateur de façon correcte.
Ceci dit, je viens de remarquer que j'étais sur le point de mettre en ligne le même site sur deux serveurs différents, et que niveau SEO c'est sans doute une grosse bêtise.
Mais bon, si on veut deplacer des trucs d'un endroit a l'autre, ben faudrait pouvoir obtenir / -> .
Oui, c'est précisément ce qui me dérangeait avec le comportement de abs2rel().
Methode: j'ai un chemin absolu initial (ici /) que je veux rendre relatif a sa racine courante (/), ce qui va me donner .
Je le deplace ailleurs, par exemple, en /rootme
si pwd = /rootme, alors . fait reference a /rootme, tandis que / fait toujours reference a /
Je sais pas vous, mais pour moi c'est clair...
Je crois que oui.
-- Manuel Pégourié-Gonnard Institut de mathématiques de Jussieu http://weblog.elzevir.fr/ http://people.math.jussieu.fr/~mpg/
Marc Espie scripsit :
Pas sur que abs2rel soit de toutes facons la totalite de la solution pour
ce cas precis, puisque tu consideres des url, qui ne sont pas forcement
des chemins au sens classique Unix.
Disons que je travaille uniquement sur la partie qui correspond plus ou
moins dans les faits à un chemin Unix. Mais comme le fait remarquer
Paul, URI aurait effectivement été plus adapté.
En particulier, tu gagneras sans doute
a canonicaliser tes url, sauf si tu es sur de ne jamais avoir de soucis cote
liens (pas un gros fan du .. dans l'url).
Normalement, je m'en sert uniquement pour des liens comme
Il me semble que dans ce cas, l'URL sera construite par l'agent
utilisateur de façon correcte.
Ceci dit, je viens de remarquer que j'étais sur le point de mettre en
ligne le même site sur deux serveurs différents, et que niveau SEO c'est
sans doute une grosse bêtise.
Mais bon, si on veut deplacer des trucs d'un endroit a l'autre, ben faudrait
pouvoir obtenir / -> .
Oui, c'est précisément ce qui me dérangeait avec le comportement de
abs2rel().
Methode: j'ai un chemin absolu initial (ici /) que je veux rendre relatif a
sa racine courante (/), ce qui va me donner .
Je le deplace ailleurs, par exemple, en /rootme
si pwd = /rootme, alors . fait reference a /rootme, tandis que / fait
toujours reference a /
Je sais pas vous, mais pour moi c'est clair...
Je crois que oui.
--
Manuel Pégourié-Gonnard Institut de mathématiques de Jussieu
http://weblog.elzevir.fr/ http://people.math.jussieu.fr/~mpg/
Pas sur que abs2rel soit de toutes facons la totalite de la solution pour ce cas precis, puisque tu consideres des url, qui ne sont pas forcement des chemins au sens classique Unix.
Disons que je travaille uniquement sur la partie qui correspond plus ou moins dans les faits à un chemin Unix. Mais comme le fait remarquer Paul, URI aurait effectivement été plus adapté.
En particulier, tu gagneras sans doute a canonicaliser tes url, sauf si tu es sur de ne jamais avoir de soucis cote liens (pas un gros fan du .. dans l'url).
Normalement, je m'en sert uniquement pour des liens comme
Il me semble que dans ce cas, l'URL sera construite par l'agent utilisateur de façon correcte.
Ceci dit, je viens de remarquer que j'étais sur le point de mettre en ligne le même site sur deux serveurs différents, et que niveau SEO c'est sans doute une grosse bêtise.
Mais bon, si on veut deplacer des trucs d'un endroit a l'autre, ben faudrait pouvoir obtenir / -> .
Oui, c'est précisément ce qui me dérangeait avec le comportement de abs2rel().
Methode: j'ai un chemin absolu initial (ici /) que je veux rendre relatif a sa racine courante (/), ce qui va me donner .
Je le deplace ailleurs, par exemple, en /rootme
si pwd = /rootme, alors . fait reference a /rootme, tandis que / fait toujours reference a /
Je sais pas vous, mais pour moi c'est clair...
Je crois que oui.
-- Manuel Pégourié-Gonnard Institut de mathématiques de Jussieu http://weblog.elzevir.fr/ http://people.math.jussieu.fr/~mpg/