<?php
// routing.php
$path = $_SERVER['REQUEST_URI'];
$request_url = parse_url($path);
if ($request_url['path']) {
$path = $request_url['path'];
}
if (file_exists($_SERVER["DOCUMENT_ROOT"] . $path)) {
return false;
}
$Filepath = parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH);
$pathinfo = pathinfo($Filepath);
// ^ это нужно чтобы сервер не искал файл вида /news/?page=2
$File = __DIR__ . '/' . trim($Filepath, '/');
if (file_exists($File)) return false; // файл (или директория) существует, отдаем как есть
// это php скрипт, отдаем как есть
if (false !== $phppos = strpos($Filepath, '.php')) {
$phpfile = substr($Filepath, 1, $phppos) . 'php';
if (!file_exists($phpfile)) {
throw new Exception($phpfile . ' not exists, request: ' . $_SERVER["REQUEST_URI"]);
return false;
}
include_once $phpfile;
exit;
}
// jpg и все картинки не пропускаем через index.php
if (in_array($pathinfo['extension'], explode('|', 'js|css|jpg|jpeg|gif|png'))) {
return false;
}
$_GET['p'] = $Filepath;
unset($Filepath, $File);
include_once 'index.php';
Свежие комментарии