@lietryit

Проблемы с ЧПУ?

В общем суть проблемы такова:
Есть код

PHP:

$url = explode('/',strtolower(substr($_SERVER['REQUEST_URI'], 1)));

switch($url[0]) {
    case 'Главная страница': { 
    include 'com/top.php';
    break;
 }
}


.htaccess

RewriteEngine On
    RewriteBase /
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d

    RewriteRule . /index.php [L]


Он собственно и делает ЧПУ.

Так вот, допустим я сделал ajax запрос и послал его на обработчик там какой-то, дело в том что он открывает уже саму форму, то есть пустую страницу с самим обработчиком, при этом ajax волшебным образом перестает работать, и скорее всего это именно из-за чпу, потому как чтобы задействовать тот же обработчик формы нужно вписывать его так:
switch($url[0]) {
    case 'Какой-то обработчик': { 
    include 'com/form.php';
    break;
 }
}

Да и каждый раз вписывать обработчик в эти поля, думаю не по феншую...
Меня это не устраивает, можно как-то обработчикам обходить данную систему ЧПУ?

Простите за шишки на лбу из-за фейспалмов, я в этом деле ещё новичок.
Но это нужно научится понимать, поэтому ПАМАГИТЕ!
Судари, не обходите стороной сей вопрос!
Заранее большое спасибо!
  • Вопрос задан
  • 116 просмотров
Решения вопроса 1
gobananas
@gobananas
finishhim.ru
Не пишите роутер сами, поставьте готовый, например Klein или Aura он задаст вам некоторый каркас сразу. С composer умеете работать?

Да и каждый раз вписывать обработчик в эти поля, думаю не по феншую...

Так у вас роутер должен быть в index.php и в зависимости от того что в нег пришло он должен вызывать тот или иной PHP-файл. Т.е. если пришёл запрос POST и в адресе указана страница обработчика формы, то просто вызывайте файл обработчика формы.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
ИТЦ Аусферр Магнитогорск
от 100 000 до 160 000 ₽