}
$ctype = $this->mRequest->getVal( 'ctype' );
- $smaxage = $this->mRequest->getIntOrNull( 'smaxage', $wgSquidMaxage );
+ $smaxage = $this->mRequest->getIntOrNull( 'smaxage' );
$maxage = $this->mRequest->getInt( 'maxage', $wgSquidMaxage );
$this->mExpandTemplates = $this->mRequest->getVal( 'templates' ) === 'expand';
function view() {
global $wgOut, $wgScript;
- if( isset( $_SERVER['SCRIPT_URL'] ) ) {
+ if( isset( $_SERVER['SCRIPT_NAME'] ) ) {
# Normally we use PHP_SELF to get the URL to the script
# as it was called, minus the query string.
#
#
# If in this mode, use SCRIPT_URL instead, which mod_rewrite
# provides containing the "before" URL.
- $url = $_SERVER['SCRIPT_URL'];
+ $url = $_SERVER['SCRIPT_NAME'];
} else {
- $url = $_SERVER['PHP_SELF'];
+ $url = $_SERVER['URL'];
+ }
+
+ if( $url == '' ) {
+ # This will make the next check fail with a confusing error
+ # message, so we should mention it separately.
+ wfHttpError( 500, 'Internal Server Error',
+ "\$_SERVER['URL'] is not set. Perhaps you're using CGI" .
+ " and haven't set cgi.fix_pathinfo = 1 in php.ini?" );
+ return;
}
if( strcmp( $wgScript, $url ) ) {
$text = $this->getRawText();
if( !wfRunHooks( 'RawPageViewBeforeOutput', array( &$this, &$text ) ) ) {
- wfDebug( __METHOD__ . ': RawPageViewBeforeOutput hook broke raw page output.' );
+ wfDebug( __METHOD__ . ": RawPageViewBeforeOutput hook broke raw page output.\n" );
}
echo $text;