Обратный прокси-сервер 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]
0
задан 30 September 2016 в 14:55
1 ответ

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

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

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

<Directory "c:/Path/To/office/gcm_chat/v1/">
  FallBackResource index.php
</Directory>
0
ответ дан 24 November 2019 в 05:38

Теги

Похожие вопросы