У меня есть приложение для Android, которое загружает скрипт http://example.com/apps-support/ads/ads.php ? appName = my_app ( my_app
может измениться). Мой хостинг-провайдер внес некоторые изменения на сервере несколько дней назад, и приведенный выше сценарий начал возвращать статус 301 Moved Permanently . Теперь, когда я запрашиваю свой скрипт, он возвращает статус 301 перемещен постоянно , а затем перенаправляет в корень ( https://example.com?appName=my_app ). Почему происходит перенаправление?
Логика в приложении Android перехватывает это перенаправление и пытается открыть этот URL (раньше работает нормально, потому что перенаправлений не было). Ситуация усугубляется тем фактом, что у меня нет возможности обновить приложение, чтобы исправить эту проблему (т.е. заменить http на https ). Мой провайдер по какой-то причине тоже не может решить эту проблему. Таким образом, на мой взгляд, единственное решение - изменить файл .htaccess . Итак, я хочу, чтобы сервер перенаправил мой запрос на https и в то же время возвратил (переопределил) статус 200 , как показано ниже:
Возможно ли это?
Мой .htaccess
файл, расположенный в корне:
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{QUERY_STRING} ^appName=(.*)$
RewriteRule ^http://example.com/apps-support/ads/ads.php$ https://example.com/apps-support/ads/ads.php?%{QUERY_STRING} [R=301,L]
К сожалению, он не работает. Любая помощь будет принята с благодарностью.
Наконец, мой хостинг-провайдер помог мне решить эту проблему. Мне пришлось изменить мой файл .htaccess
, как показано ниже:
RewriteCond %{SERVER_PORT} !^443$
RewriteCond %{REQUEST_URI} !^/apps-support/ads/ads.php1$
RewriteRule (.*) https://example.com/$1 [L,R=301]
Теперь все работает, как ожидалось.