Kwiki::ModPerl With Safari
[email protected] (Kang-min Liu) Sun, 16 Jan 2005 21:01:41 +0800
| Newsgroups | perl.kwiki |
|---|---|
| Message-ID | <[email protected]> |
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Hi, folks
I just found that, Safari do have bugs with relative URL redirection.
It's OK to run kwiki under CGI mode, but using Kwiki::ModPerl, nearly
all redirection goes to the wrong place.
Suppose I visit a non-existent page:
http://mysite.com/?PageNameThatDoNotExist
It should be redirect to
http://mysite.com/?action=edit&page_name=PageNameThatDoNotExist
However, Safari handle the redirect string
?action=edit&page_name=PageNameThatDoNotExist
into this URL
http://mysite.com/?PageNameThatDoNotExist?
action=edit&page_name=PageNameThatDoNotExist
Therefore it's viewing "HomePage" again instead of editing new page.
However, there is a workaround, in Kwiki::ModPerl, script_name is set
to an empty string,
so that generated link in template is handled by
Kwiki::ModPerl::handler(), I suggested
that, Kwiki::ModPerl do not erase the script_name, and people using
Kwiki::ModPerl
change script_name to "/" in their config.yaml. If one's kwiki is
installed under
user home or sub-directory, this still works, they can change
script_name to the
URL path of index.cgi, without "index.cgi".
This works because it turns the relative redirection into absolute-path
redirection,
and all browser handle it well.
Cheers,
Kang-min "Gugod" Liu
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (Darwin)
iD8DBQFB6mW2CSIfi0PaMDQRAvHoAKCVcycZyIAbjhk6pyemt8F4se/J+gCgy2ii
AmE5L4JyoASgdJLTdJCfxoo=
=dTjp
-----END PGP SIGNATURE-----