У меня проблема с jQuery ajax методом по https.jQuery ajax over https
Весь сайт обслуживается через https. Большинство форм отправляются на страницу обработки через ajax. URL для функции AJAX в основном:
$.ajax({
"/assets/php/ajax/processor.php",
...
});
У меня также есть файл .htaccess, который перенаправляет все запросы HTTP к HTTPS те, как так:
# Redirect any http requests to https
RewriteCond %{HTTPS} off
RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [L]
Аякса работает отлично, если удалить редирект в файле .htaccess, но, похоже, с ним работать не будет. Я предполагаю, что это связано с тем, что ajax функционирует над http (jQuery-описание .ajax(): выполнить асинхронный запрос HTTP (Ajax)), и поэтому перенаправление .htaccess захватывает запрос ajax.
Мне нужно перенаправление, потому что я не хочу, чтобы пользователи сайта использовали http-версию (на каждой странице есть заголовок знака), но мне нужно, чтобы ajax тоже работал и был защищен https.
Заранее спасибо за любую помощь
Ajax запрос с использованием относительного URL, как тот, который вы используете, должны идти как запрос HTTPS, если браузер в настоящее время указывает на https-домен. Можете ли вы предоставить какие-либо ошибки, которые отображаются на консоли, когда они «не работают»? –
Это то, что я думал, но RewriteCond, похоже, улавливает запрос ajax, что означает, что запрос не превышает https (RewriteCond% {HTTPS} off) –