Назад | Перейти на главную страницу

Обратный прокси IIS для apache, игнорирующий .htaccess

У меня есть небольшой php, созданный с использованием тонкой структуры. Я установил его на apache, который работает на localhost:8055. С помощью /users/get на localhost:8055 Я могу получить результаты API без использования index.php/users/get.

Теперь у меня также есть IIS, работающий на порту 80, и он слушает внешние запросы через Интернет. Я установил сайт на iis с правилом перезаписи обратного прокси на localhost: 8085. Я могу получить результат через Интернет через обратный прокси-сервер IIS на localhost: 8055, используя mydomain.com/index.php/users/get но не используя mydomain.com/users/get. Я думаю, что он не выбирает .htaccess, когда запрос переходит с iis на apache.

Вот мой файл htaccess:

RewriteEngine On
RewriteBase /office/gcm_chat/v1/

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^ index.php [QSA,L]

Я бы предположил, что ваш php-скрипт анализирует PATH_INFO, который будет установлен на /users/get когда вы просите mydomain.com/index.php/users/get но не будет установлен при запросе mydomain.com/users/get. Вместо этого проанализируйте URI запроса.

Также стоит подумать об изменении всех строк в вашем файле htaccess на простые FallBackResource index.php а также переместив его в основной файл конфигурации в <Directory> блок. Оба эти изменения можно сделать независимо.

Что-то вроде:

<Directory "c:/Path/To/office/gcm_chat/v1/">
  FallBackResource index.php
</Directory>