У меня проблема с файлом .htaccess
.
Раньше у нас был основной домен ie: co.example.com
, а недавно мы перешли на www.example.com
. Поэтому мы добавили правило перезаписи для перенаправления co.example.com/*
в www.example.com/*
.
Проблема в том, что у нас есть служба, работающая на co.example.com/api/*
, которая должна оставаться активной, поэтому я добавил исключение для перенаправления
RewriteCond %{REQUEST_URI} !^api/(.*) [NC]
Но независимо от того, как я его меняю Apache всегда выполняет перенаправление 301 на www.example.com/index.php/api/*
, что превращается в проблему, так как служба y вызывается через запрос POST и выполняется перенаправление на GET.
Это образец файла .htaccess
.
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} !^www.example.com [NC]
RewriteCond %{REQUEST_URI} !^api/(.*) [NC]
RewriteRule ^(.*) https://www.example.com/$1 [L,R=301]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^.*$ index.php [L]
В чем может быть проблема с этим правилом? Сервер Apache работает за прокси Nginx, может ли это быть проблемой?
Я не могу изменить сторонний код так, чтобы он указывал на www.example.com/api/*
в краткосрочной перспективе, поэтому мне понадобится чтобы решить эту проблему с помощью .htaccess
, если возможно.
Любая помощь приветствуется.