Debugging the code, I found why it fails, but I don't completely understand the code.
When article.php calls COM_siteHeader, COM_siteHeader eventually executes the following:
Text Formatted Code
if( empty( $sid ) && $_CONF['url_rewrite'] )
{
COM_setArgNames( array( 'story'));
$sid = COM_applyFilter( COM_getArgument( 'story' ));
}
The COM_setArgNames only has one variable in the array which causes the if/then
in url.class.php to be true, because $this->_arguments = 2.
Text Formatted Code
function setArgNames($names)
{
if (count($names) < count($this->_arguments)) {
print "URL Class: number of names passed to setArgNames must be equal or greater than number of arguments found in URL";
exit;
}
So as a work around I added an empty string in COM_siteHeader like so
Text Formatted Code
COM_setArgNames( array( 'story',''));
Byte
LinuxElectrons