diff --git a/lib/Configuration.php b/lib/Configuration.php index 6f3a8225..5588791a 100644 --- a/lib/Configuration.php +++ b/lib/Configuration.php @@ -236,6 +236,14 @@ class Configuration if (!array_key_exists($this->_configuration['expire']['default'], $this->_configuration['expire_options'])) { $this->_configuration['expire']['default'] = key($this->_configuration['expire_options']); } + + // ensure the basepath ends in a slash, if one is set + if ( + strlen($this->_configuration['main']['basepath']) && + substr_compare($this->_configuration['main']['basepath'], '/', -1) !== 0 + ) { + $this->_configuration['main']['basepath'] .= '/'; + } } /** diff --git a/tst/JsonApiTest.php b/tst/JsonApiTest.php index 5c508439..61a2870d 100644 --- a/tst/JsonApiTest.php +++ b/tst/JsonApiTest.php @@ -272,7 +272,7 @@ class JsonApiTest extends PHPUnit_Framework_TestCase { $mock_yourls_service = $this->_path . DIRECTORY_SEPARATOR . 'yourls.json'; $options = parse_ini_file(CONF, true); - $options['main']['basepath'] = 'https://example.com/path/'; + $options['main']['basepath'] = 'https://example.com/path'; // missing slash gets added by Configuration constructor $options['main']['urlshortener'] = 'https://example.com/path/shortenviayourls?link='; $options['yourls']['apiurl'] = $mock_yourls_service; Helper::createIniFile(CONF, $options);