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
|