igor-fedorov
@igor-fedorov
Full Stack разработчик

Как сделать простейший роутинг на php без фреймворков?

Здравствуйте. Допустим, есть сайт-визитка со следующей структурой:

app/index.php
app/rates.php
app/contacts.php
app/404.php
css/style.css
index.php


Как сделать без фреймворков и cms реализацию такой схемы:
Человек вводит запрос, например local/rates, и index.php обрабатывает это, выводя содержимое файла rates

local -> выводит app/index.php
local -> (со слешем на конце) выводит app/index.php

local/rates -> выводит app/rates.php
local/rates -> (со слешем на конце) выводит app/rates.php

И т.д.

А если адреса не существует - вывести 404.php с заголовком 404
Буду благодарен всем ответам!
  • Вопрос задан
  • 340 просмотров
Решения вопроса 2
Rou1997
@Rou1997
Фреймворки ни при чем, это .htaccess
RewriteEngine On

# Some hosts may require you to use the `RewriteBase` directive.
# If you need to use the `RewriteBase` directive, it should be the
# absolute physical path to the directory that contains this htaccess file.
#
# RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [QSA,L]
Ответ написан
Комментировать
za4me
@za4me
Человек
В .htaccess направить все запросы на index.php. В index.php получить входящий url и уже исходя из полученного url подключать необходимые файлы.

Тут можете прочесть более подробно: https://habrahabr.ru/post/150267/#RouterCoding
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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