On Wed, 4 Aug 2004, P. Kerim friedman wrote:
Unfortunately, as my domain is managed by a different company than my host (which is the cause of these problems) I can't implement your easier alternative solution.
They don't have to be the same, as they are separate services. DNS controls the mapping of hostnames ('foobar.com') to IP addresses ('12.34.56.78').
Hosting puts an actual computer at the network IP address ('12.34.56.78') which responds to external requests, such as HTTP requests for web pages. If multiple sites are served from a single network address ('12.34.56.78'), it is necessary also for the host to be aware which hostnames ('foobar.com', 'superfoo.net') are in use so requests are directed to the right configuration.
It is not necessary for the host to control the mapping of hostnames ('foobar.com') to IP addresses ('12.34.56.78'), only to be aware of them, and then only for that particular configuration case (name-based virtual servers sharing an IP address).
I apologize if the above sounds patronizing or condescending; I'm really just trying to make things clear.
On Aug 4, 2004, at 2:29 PM, Brion Vibber wrote:
Data that's submitted as a POST form can't make it through from the parent frame to the child frame, as HTML doesn't allow anything like that.
But don't these other programs use POST to send data? For instance, in pagetool I found this command:
echo "<form action="" . $admp . "&pt_action=update&pt_section=www&id=" . $row["www_id"] . "" enctype="multipart/form-data" method="post">\n";
Could you take a look at the actual produced HTML to see what the listed URL is? Is it a full URL including the real hostname, a full URL including the false forwarded hostname or a relative URL?
If it's a relative URL and there is no <base href> or it's a full URL with the real hostname, then it's expected that it will work -- it will go directly to the real script without disturbing the frameset. If it's a full URL with the false hostname or a relative url with a <base href> for the false hostname then I would be surprised if it works.
I'm trying to understand why this works with the EasyDNS URL forwarding, and POST in MediaWiki does not. Here is the relevant code from Editpage.php in MediaWiki:
<form id=\"editform\" name=\"editform\" method=\"post\" action=\"$action\" enctype=\"application/x-www-form-urlencoded\">
The relative hostname is altered by the browser using the <base href> to the false forwarded hostname, thus the post fails.
I was looking at some of the POST tags in the code, and it seems that many of them rely upon code in Title.php for their URLs. That file has a bunch of functions, such as "getFullURL", "escapeLocalURL", "getEditURL" etc. which seem to be called upon in some of the POST commands. Might it not be possible to edit some of these functions?
Yes, as I mentioned earlier you can go through and change these functions and it might work. However I expect you'll have a hard time getting the consistent results you seem to want with a frame-forwarding system.
-- brion vibber (brion @ pobox.com)