aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorChristian Weiske <cweiske@cweiske.de>2013-08-20 20:58:28 +0200
committerChristian Weiske <cweiske@cweiske.de>2013-08-20 20:58:28 +0200
commite6494f9767645940fa6af44b176d1b7c225bc4ed (patch)
tree0f1270c88819398440f34f5371d5f624bc4875be /src
parentf309a61b717a0ac3327d27406095a03d9226a617 (diff)
downloadsemanticscuttle-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.php26
-rw-r--r--src/SemanticScuttle/constants.php4
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();
?>