diff options
author | Christian Weiske <cweiske@cweiske.de> | 2013-08-20 20:58:28 +0200 |
---|---|---|
committer | Christian Weiske <cweiske@cweiske.de> | 2013-08-20 20:58:28 +0200 |
commit | e6494f9767645940fa6af44b176d1b7c225bc4ed (patch) | |
tree | 0f1270c88819398440f34f5371d5f624bc4875be /src | |
parent | f309a61b717a0ac3327d27406095a03d9226a617 (diff) | |
download | semanticscuttle-e6494f9767645940fa6af44b176d1b7c225bc4ed.tar.gz semanticscuttle-e6494f9767645940fa6af44b176d1b7c225bc4ed.tar.bz2 |
Fix bug #161: URLs broken on 1&1 server
Diffstat (limited to 'src')
-rw-r--r-- | src/SemanticScuttle/Environment.php | 26 | ||||
-rw-r--r-- | src/SemanticScuttle/constants.php | 4 |
2 files changed, 13 insertions, 17 deletions
diff --git a/src/SemanticScuttle/Environment.php b/src/SemanticScuttle/Environment.php index e5fe3de..7ccb466 100644 --- a/src/SemanticScuttle/Environment.php +++ b/src/SemanticScuttle/Environment.php @@ -29,24 +29,20 @@ class SemanticScuttle_Environment */ public static function getServerPathInfo() { - /* old code that does not work today. - if you find that this code helps you, tell us - and send us the output of var_export($_SERVER); - // Correct bugs with PATH_INFO (maybe for Apache 1 or CGI) -- for 1&1 host... - if (isset($_SERVER['PATH_INFO']) && isset($_SERVER['ORIG_PATH_INFO'])) { - if (strlen($_SERVER["PATH_INFO"])<strlen($_SERVER["ORIG_PATH_INFO"])) { - $_SERVER["PATH_INFO"] = $_SERVER["ORIG_PATH_INFO"]; - } - if (strcasecmp($_SERVER["PATH_INFO"], $_SERVER["SCRIPT_NAME"]) == 0) { - unset($_SERVER["PATH_INFO"]); - } - if (strpos($_SERVER["PATH_INFO"], '.php') !== false) { - unset($_SERVER["PATH_INFO"]); + if (isset($_SERVER['PATH_INFO'])) { + return $_SERVER['PATH_INFO']; + } + + if (isset($_SERVER['ORIG_PATH_INFO'])) { + //1&1 servers + if ($_SERVER['ORIG_PATH_INFO'] == $_SERVER['SCRIPT_NAME']) { + return ''; } + return $_SERVER['ORIG_PATH_INFO']; } - */ - return $_SERVER['PATH_INFO']; + //fallback when no special path after the php file is given + return ''; } } ?>
\ No newline at end of file diff --git a/src/SemanticScuttle/constants.php b/src/SemanticScuttle/constants.php index fcb2d90..306c32a 100644 --- a/src/SemanticScuttle/constants.php +++ b/src/SemanticScuttle/constants.php @@ -69,6 +69,6 @@ define('PAGE_WATCHLIST', "watchlist"); // installations on the same host server define('INSTALLATION_ID', md5($GLOBALS['dbname'].$GLOBALS['tableprefix'])); -//currently not needed -//$_SERVER['PATH_INFO'] = SemanticScuttle_Environment::getServerPathInfo(); +//fix PATH_INFO on certain hosts +$_SERVER['PATH_INFO'] = SemanticScuttle_Environment::getServerPathInfo(); ?> |