Страница 1 из 1

RewriteRule [P,L,QSA] всегда возвращает 403 Forbidden

Добавлено: 21 июн 2017, 11:50
Crazyk
Здравствуйте! У меня такая задача: нужно чтобы все GET запросы (в моём случае это ajax запросы) содержащие параметр ajax_content перенаправлялись с локального (тестового) сервера на боевой. Реализую ч/з .htaccess:
RewriteEngine on
RewriteCond %{QUERY_STRING}					(ajax_content=.*)$ [NC]
RewriteRule .*              				http://site.com/ru/content/ [P,L,QSA]
В ответ получаю 403 Forbidden. Ранее настраивал подобное на XAMPP. Теперь такой фокус нужно провернуть на OpenServer 5.2.2.

Re: RewriteRule [P,L,QSA] всегда возвращает 403 Forbidden

Добавлено: 21 июн 2017, 18:45
Pashik
Здравствуйте. Не стал вникать в код, и задумался, что вы подразумеваете под перенаправлением? Первый случай: перекидываете клиента с одного сайта на другой. Тут возникает еще один вопрос.. а зачем это нужно? Второй случай: отправляете асинхронный запрос на другой сайт. Зачем тут использовать .htaccess? Можно ведь настроить отправку и прием AJAX запросов через конкретный файл. Поправьте, если моя логика неверна.

Re: RewriteRule [P,L,QSA] всегда возвращает 403 Forbidden

Добавлено: 22 июн 2017, 10:07
Crazyk
Pashik, наверно нужно сказать, то что я имею на локальном(тестовом) сайте это не законченный сайт, а некую тему для CMS (просто набор статичных html, css, js которые после подготовки выгружаются на тот самый боевой сайт).
Под перенаправлением понимаю следующее: со страницы отправляется ajax запрос на скажем URL
/content/?ajax_content=catalog
. Апач увидев параметр ajax_content должен отправить запрос не на
/content/?ajax_content=catalog
(так как на локальном сайте нет не каталога content, не какого-то php файла который могбы обработать
?ajax_content=catalog
), а проксируется на реальный сайт
http://site.com/ru/content/
.
Эту логику я и хочу поместить в .htaccess. Всё это позволяет при frontend разработке не таскать с собой целый сайт, при и этом имея возможность получать данные с сайта (например товары) после чего рендерить их.
Я не могу послать ajax запрос прямо на сервер потому что это кросдоменный запрос и наш сервер такое не поддерживает (в целях безопасности). Кроме того мне бы пришлось жестко прописывать домен сайта в js коде (например http://site.com/content) что не есть хорошо так как возможно домен поменяется и тогда все js файлы отправляющие ajax запросы придется обновлять.

Re: RewriteRule [P,L,QSA] всегда возвращает 403 Forbidden

Добавлено: 22 июн 2017, 11:35
Crazyk
Посмотрел в логах апача.
[Thu Jun 22 13:08:39.035887 2017] [core:error] [pid 3220:tid 652] (OS 123)Синтаксическая ошибка в имени файла, имени папки или метке тома.  : [client 127.0.0.1:49587] AH00132: file permissions deny server access: proxy:http://site.com/content/?ajax_content=products, referer: http://apps/site/dist/pages/contacts-item.html
Не понятно в чем конкретно я ошибся.
P.S Настоящее название сайта я заменил на фейковое перед тем как опубликовать это сообщение

Re: RewriteRule [P,L,QSA] всегда возвращает 403 Forbidden

Добавлено: 22 июн 2017, 12:41
Pashik
Crazyk, мои попытки реализовать текущую задачу безуспешны. Не дружу с Rewrite модулем :) И все- таки по - прежнему считаю, что можно реализовать передачу данных через PHP скрипт (я бы именно так сделал).