У меня есть небольшой 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 "c:/Path/To/office/gcm_chat/v1/">
FallBackResource index.php
</Directory>