Здравствуйте,
Пытаюсь написать сайт, в котором главной страничкой будет index.php. Сайт расположен в папке dvizh, запускаю на локальном сервере MAMP.
URL главной странички:
localhost/dvizh/index.php
//Если не была открыта никакая страничка, то $Page и $Module = 0
if($_SERVER ['REQUEST_URI'] == '') {
$Page = '';
$Module = '';
} else {
//$URL_Parts получает массив, состоящий из частей ЮРЛ запроса,
//начиная с корневой папки
//$URL_Parts = array => [ 0 => 'dvizh',
// 1 => 'index.php'
// ]
$URL_Path = parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH);
$URL_Parts = explode ('/', trim($URL_Path, ' /'));
$Page_folder = array_shift($URL_Parts);
//извлекает первый элемент массива, убирая его из массива
//echo $Page_folder; //выводит dvizh
$Page = array_shift($URL_Parts);
//echo $Page; //выводит след часть адреса, в данном случае index.php
$Module = array_shift($URL_Parts);
//echo $Module; //выводит часть после предыдущей (в даном случае пусто)
if ($Page_folder='dvizh' and $Page == '' and $Module == '') {
include ('page/index.php');
//если запрос выглядит как http://localhost/dvizh/ (т.е начальная страница),
// то включить страницу index.php
} else if ($Page == 'login') {
include ('page/login.php');
//Если в конец запроса подписать login, чтобы запрос выглядел как
//http://localhost/dvizh/login, то подключается login.php
Таким образом я пытаюсь написать сайт с единой точкой входа на index.php;
Для того, чтобы такой редирект работал, пришлось написать самостоятельно
.htaccess, вот его код:
RewriteEngine on
RewriteRule .* index.php [L]
Проблема в том, что я не могу подключить ни .css, ни .jpeg. Мне кажется,
что дело в .htaccess, потому что если его удалить, то стили подключаются, но
редирект, соответственно, не работает. Пытаюсь его изменить. Но ни одно решение
из гугла не сработало.
Были попытки дописать в .htaccess папку, из которой можно подключать файлы,
но не работает:
RewriteEngine on
RewriteRule .* index.php [L]
RewriteCond %{REQUEST_FILENAME} !/dvizh/.*
Кто-то может помочь настроить .htaccess, пожалуйста?