Difference between revisions of "17 February 2007"

From Organic Design wiki
m
m
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 [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]].
  
 
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.
 
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>
+
}}

Revision as of 20:59, 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.