Тема: PHP для новичков - ЧПУ, mod_rewrite, MVC

asd

Привет, ребята. Нашел в инете код простой MVC https://habrahabr.ru/post/150267/.У меня все то же самое, кроме .htaccess. Вот мой: Код: Выделить всё AddDefaultCharset utf-8 RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule .* index.php?id=$1 [QSA,L] В БД у меня хранятся URL типа index, gallery и т.д. В меню ссылки у меня так: Код: Выделить всё <a href='.$menu['url'].'?id='.$menu['id'].'> НО, при переходе выдает 404. Не пойму, как передать при подобном mod_rewrite в URL id страницы, чтобы переход по страницам работал и ЧПУ тоже? Или его(htaccess) надо как-то править? P.S.: на инъекции пока что пофиг=)

asd

во-первых мне кажется у тебя неправильный рерайт-рул. что в бакс-один хранится? откуда оно берется? во-вторых у тебя кажется не совсем правильное понятие того как на самом деле работает чпу. вот ты привел ссылку на хабре. представим себе что есть простой пхп-сайт. и представим урл вида /index.php?module=post&id=150267 - красивый? не очень-то. теперь меняем урл на /post/150267/ - красивый? ну да, что-то сексуальное в нем есть. но пхп о нем не знает. поэтому через правильно вида ^/(.+)/(\d+)/$ /index.php?module=$1&id=$2 мы уведомляем пхп-машину о том какой некрасивый адрес соответствует этому красивому. приходит запрос к красивому адресу. рерайтер его переделывает в другой урл и передает дальше. браузер об этом не знает ничего на самом деле. это стадия разрешения запроса вебсервером. теперь про то как хранятся у тебя урлы. Qumo писал(а): В БД у меня хранятся URL типа index, gallery и т.д. В меню ссылки у меня так: Код: Выделить всё <a href='.$menu['url'].'?id='.$menu['id'].'> ничего не находишь? у тебя в урле который хранится есть ?id=что-то. то есть когда пхп-машина сформирует исходный код страницы там будут ссылки похожие на первый пример - ?id=что-то. а тебе нужно чтоб было как во втором примере. рерайтер ничего не знает про ссылки в исходном коде страницы. он их не переписывает из некрасивой формы в красивую. рерайтер работает только со входящим запросом. чтоб чпу успешно работал - ссылки в отдаче уже должны быть в красивом виде. то есть и в базе тоже.

uuuuu

i