Difference between revisions of "17 February 2007"

From Organic Design wiki
(News: Ampersand articles are working again ;-))
 
m
 
(4 intermediate revisions by the same user not shown)
Line 1: Line 1:
<table class=document-code><tr><td>
+
{{news|title=Ampersand articles are working again ;-)|img=|msg=
;Ampersand articles are working again ;-)
+
The long-standing problem of not being able to have ampersands in article names has been fixed at last! It was actually not the [[:Category:XmlWiki Components|XmlWiki code]] at all, but our [http://httpd.apache.org/docs/mod/mod_rewrite.html mod-rewrite] rule for allowing [[Friendly URL's]]. The rule makes all requests for URL's in friendly format get transformed into the long format of <tt>.../wiki/index.php?title=pagename</tt>, but that means that any ampersands would be treated as [[w:query string|query string]] separators and would never reach the PHP [[w:runtime|runtime environment]].
The long-standing problem of not being able to have ampersands in article names has been fixed at last! It was actually not the [[:Category:XmlWiki Components|XmlWiki code]] at all, but our mod-rewrite rule for [[Friendly URL's]]. The rule makes all requests for URL's in friendly format to get changed to the long format of <tt>.../wiki/index.php?title=pagename</tt>, but that means that any ampersands would be treated as [[w:query string|query string]] separators and would never reach the [[w:PHP|PHP]] runtime environment.
 
  
A simple [{{SERVER}}/wiki/index.php?title=talk:organicdesign.vhost&curid=2845&diff=0&oldid=55177 change] of the rule to the semi-friendly format of <tt>.../wiki/index.php/pagename</tt>. This format is supported directly by PHP and makes the entire request is available to the PHP code including the ampersands.
+
A simple [{{SERVER}}/wiki/index.php?title=talk:organicdesign.vhost&curid=2845&diff=0&oldid=55177 change] of the rule to the semi-friendly format of <tt>.../wiki/index.php/pagename</tt> fixes the problem. It works because this semi-friendly format is descriptive enough for apache to determine that the ''index.php'' script should handle the request. That script can then obtain the article name from the full request information in the <tt>$_SERVER</tt> hash.
</table>
+
 
 +
;See also
 +
*[[Friendly URL's]] ''- local article on our friendlt URL's''
 +
*[[MW:Manual:Short URL]] ''- MediaWiki's manual entry''
 +
}}

Latest revision as of 21:00, 29 June 2011

Warning.svg This is a blog item that needs to be converted to the new Bliki format


Ampersand articles are working again ;-)

The long-standing problem of not being able to have ampersands in article names has been fixed at last! It was actually not the XmlWiki code at all, but our mod-rewrite rule for allowing Friendly URL's. The rule makes all requests for URL's in friendly format get transformed into the long format of .../wiki/index.php?title=pagename, but that means that any ampersands would be treated as query string separators and would never reach the PHP runtime environment.

A simple change of the rule to the semi-friendly format of .../wiki/index.php/pagename fixes the problem. It works because this semi-friendly format is descriptive enough for apache to determine that the index.php script should handle the request. That script can then obtain the article name from the full request information in the $_SERVER hash.

See also