@Sekillar

Как настроить .htaccess для сайта с единой точкой входа?

Здравствуйте,

Пытаюсь написать сайт, в котором главной страничкой будет 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, пожалуйста?
  • Вопрос задан
  • 40 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы