Пытаюсь сделать сайт по принципу MVC и сразу же с ЧПУ.
Для ЧПУ пользуюсь функцией explode
$routes = explode('/', $_SERVER['REQUEST_URI']);
Беда в том что все работает только есть адрес следующего типа "/admin", но если указать адрес "/admin/" то подгружаться все кроме СSS, хотя,
как по мне, логика погрузки СSS не чем не отличается от подгрузи файлов с модулями и с видами.
Подскажите плз почему ниже указанный код роутера не подгружает сss файлы для ссылок которые заканчиваются слешем
ini_set('display_errors', 1);
session_start();
define ("SKIN", 'skin1');
define ("TITLE", 'dmeb');
include_once 'models/myException.php';
try{
include_once 'models/connect.php';
$router_name = 'main';
$routes = explode('/', $_SERVER['REQUEST_URI']);
if ( !empty($routes[1]) AND $routes[1]<>'index.php')
{
$router_name = $routes[1];
}
if ( !empty($routes[2] ) )
{
$action_name = $routes[2];
}
if ($action_name == 'logout') { unset($_SESSION['admin']); }
if (isset($_SESSION['admin'])) // Если админ залогинент, то к адресу дописываем слово admin, тоесть при заходе на main будет adminmain
{
$router_name = ($router_name == 'admin') ? $router_name : 'admin'.$router_name ;
}
$model_name = 'Model_'.$router_name;
$model_file = strtolower($model_name).'.php';
$model_path = "models/".$model_file;
if(file_exists($model_path))
{
include_once $model_path;
} else
{
$model_name = 'Model_404';
$model_file = strtolower($model_name).'.php';
include_once 'models/'.$model_file;
}
// Находим нужный вид
$view_name = 'view_'.$router_name;
$view_file = strtolower($view_name).'.php';
$view_path = "view/".SKIN.'/'.$view_file;
//Ищем CSS
$css_name = 'css_'.$router_name;
$css_file = strtolower($css_name).'.css';
$css_path = "view/".SKIN.'/css/'.$css_file;
if (!file_exists($css_path))
{
$css_path = "view/".SKIN.'/css/css_404.css';
}
//Подключаем вид (файл с html )
if (file_exists($view_path))
{
include_once $view_path;
} else
{
$view_file = 'view_404.php';
$view_path = "view/".SKIN.'/'.$view_file;
include_once $view_path;
}
}catch (myException $errors){ ?>
<script>
alert("<?php echo $errors; ?>");
</script>
<?php }