| /** | |
| * Matomo - free/libre analytics platform | |
| * | |
| * @link https://matomo.org | |
| * @license https://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later | |
| */ | |
| namespace Piwik\Http; | |
| /** | |
| * Router | |
| */ | |
| class Router | |
| { | |
| /** | |
| * Filters some malformed URL by suggesting to redirect them. | |
| * | |
| * E.g. /index.php/.html?... can be interpreted as HTML by old browsers | |
| * even though the Content-Type says JSON. | |
| * @link https://github.com/piwik/piwik/issues/6156 | |
| * | |
| * @param string $url The URL to filter. | |
| * | |
| * @return string|null If not null, then the application should redirect to that URL. | |
| */ | |
| public function filterUrl($url) | |
| { | |
| $path = parse_url($url, PHP_URL_PATH); | |
| if (strpos($path, 'index.php/') !== false) { | |
| return preg_replace('#index\.php/([^\?]*)#', 'index.php', $url, 1); | |
| } | |
| return null; | |
| } | |
| } | |