GM2mars
@GM2mars

Как перенаправить ajax запросы в .htaccess?

Сайт разделен на бекэнд и фронтэнд, общение происходит посредством аякс запросов. Используется единая точка входа, для фронта index.html а для обработчика бека api.php

Я не мастер составлять .htaccess, собрал по кусочкам:
AddDefaultCharset utf-8
Options -Indexes

RewriteEngine On
RewriteBase /

RewriteCond %{REQUEST_URI} !^\frontend/scripts/*
RewriteCond %{REQUEST_URI} !^\frontend/styles/fonts/*
RewriteCond %{REQUEST_URI} !^\frontend/images/*

# if it is ajax request
RewriteCond %{HTTP:X-Requested-With} XMLHttpRequest
RewriteRule . api.php [L]

# if a directory or a file exists, use it directly
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.html


При такой раскладке все всегда работает в firefox'e, в хроме начинает работать если отключить кеш в панеле разработчиков или принудительно к каждому аякс запросу в конце добавлять слеш: site.ru/article/21/ причем запрос site.ru/article/21/?q=query не работает.

Не работает, это когда вместо ожидаемых json данных в ответе приходит страница index.html .
Как исправить ситуацию, чтоб аякс запрос корректно перенаправлялся на api.php в любом браузере?
  • Вопрос задан
  • 688 просмотров
Пригласить эксперта
Ваш ответ на вопрос

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

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