Jumast
@Jumast
разработка сайтов - html/css/php/js

Как правильно сделать роутинг в htaccess?

Всем привет!
RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^(.+)$ index.php?url=$1 [QSA,L]
RewriteRule ^users(.+)$ index.php?url=users&page=$1 [QSA,L]

Как правильно реализовать чпу в htaccess
1 - /index.php
2 - /index.php?url=about
3 - /index.php?url=users&page=profile

1 - /
2 - /about
3 - /users/profile

---- index.php
define('SKYLIGHT',dirname(__FILE__));

# Шапка
include('inc/head.php');

$url = $_GET['url']; // site.ru/url=название

if(isset($url)){ 
if(file_exists(dirname(__FILE__)."/pages/".$url.".php")){ 
include(dirname(__FILE__)."/pages/".$url.'.php'); // Ищем файл в директории
}else{ 
include(dirname(__FILE__).'/pages/404.php'); // Страница 404
} 
}else{ 
include(dirname(__FILE__).'/pages/main.php'); // Главная страница
}

# Подвал
include('inc/foot.php');

---- /pages/users.php
include ('./inc/menu.php'); // Меню пользователя будет со всеми страницами в /pages/user/

$url2 = $_GET['page'];

if(isset($url2)){ 
if(file_exists(dirname(__FILE__)."/user/".$url2.".php")){ 
include(dirname(__FILE__)."/user/".$url2.'.php'); // Ищем страницы
}else{ 
include(dirname(__FILE__).'/404.php');
} 
}else{ 
include(dirname(__FILE__).'/user/acc.php'); // Профиль основная в /user/
}

Описание файлов
/index.php - инклудит директорию /pages
/pages/users.php - инклудит директорию /pages/user

Вот скрипт для наглядности: Яндекс.диск

--------------------------------------------
Просьба не советовать MVC.
  • Вопрос задан
  • 464 просмотра
Пригласить эксперта
Ответы на вопрос 1
xEpozZ
@xEpozZ
Веб-разработчик
Просьба не советовать MVC.

Советую погуглить. Ваши кейсы лет 20 уже существуют
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
ИТЦ Аусферр Магнитогорск
от 100 000 до 160 000 ₽
26 апр. 2024, в 06:46
1000 руб./в час
26 апр. 2024, в 05:31
1000 руб./за проект