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-----