@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;
 }
}

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

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

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

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

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

Похожие вопросы