Good point, I guess I have been mixing two separate issues: I'll continue to
investigate IIS, ISAPI_Rewrite rules and translation of pretty URL's elsewhere.
So what would cause my instance of MW to generate article links differently for some special characters? In my case, MW crafts the link to an article containing a ( in the title with %28 to replace the "(". But MW doesn't replace "." with "%2E" or replace "/"s with ""%2F" when creating links.
My instance created both links below:
Example1 ( MW doesn't encode "/"s when creating the link) Article title "Meeting of 02/22/06" http://mysite.com/wiki/index.php?title=Meeting_of_02/22/06
Example2 (MW encodes "(" and ")" to %28 and %29) Article title "Integration Assistant (IA)" http://mysite.com/wiki/index.php?title=Integration_Assistant%28IA%29
Thanks again for your patience, Brian
On 5/4/06, Brion Vibber brion@pobox.com wrote:
Brian Carpenter wrote:
Not to beat a dead horse... But is this an IIS problem as MediaWiki is not crafting all the URLs as 'pretty'?
Sure it does. If your web server is broken and not interpreting those URLs correctly, that's the fault of the web server configuration.
Perhaps you think pretty URLs are something different from what we think they are, so let me be clear.
Here's a sample of an ugly URL:
/some_path?title=My_cool_page_title
Here's a sample of a pretty URL:
/some_path/My_cool_path_title
The difference is that pretty URLs pass the page title in the URL's path component, while ugly URLs pass the title as a query string parameter. Other than that there is no inherent difference in appearance or encoding.
By default MediaWiki will create pretty URLs for straight article views if it detects that your PHP configuration is capable of supporting this, using the default path through the script name (eg /index.php/My_cool_page_title).
By default MediaWiki will create ugly URLs for other actions, though simple cases can also be set to produce pretty URLs by setting up $wgActionPaths.
Any use of pretty URLs requires that your web server be configured appropriately to pass that title data on to MediaWiki in some way. In a typical Apache+mod_php configuration, additional path components after the script name are passed to the script as $_SERVER['PATH_INFO']. In other configurations it may or may not be so passed. Rewriting incoming URLs to query string parameters is also possible, but requires that you be careful of encoding issues to ensure that all characters are handled correctly (Apache gets it wrong by default).
-- brion vibber (brion @ pobox.com)
MediaWiki-l mailing list MediaWiki-l@Wikimedia.org http://mail.wikipedia.org/mailman/listinfo/mediawiki-l