Как получить доступ к каталогу index.php без косой черты И не получить перенаправление 301 (NGinx) - PullRequest
0 голосов
/ 26 февраля 2019

Я пытался переписать свои URL API, чтобы у них не было косой черты.Я использую NGinx, а не Apache.Я нашел этот ответ на тот же вопрос для сервера Apache, но он не будет работать из коробки для NGinx.

1 Ответ

0 голосов
/ 26 февраля 2019

В итоге я взял этот пример конфигурации Apache и использовал службу перезаписи конфигурации для преобразования конфигурации в формат Nginx.Это дает в основном рабочее, но слегка сломанное решение.Он обращается к URL-адресам так, как и предполагалось, но прерывает доступ к ресурсам и вызывает сброс файла /api/index.php для загрузки при доступе к несуществующему файлу или каталогу в /api/.

Я поэкспериментировал с конфигурацией, чтобы создать приведенную ниже конфигурацию, в которой используется сообщение html 404.

NGinx

location /api {
  if (-e $request_filename){
    rewrite ^/(.*[^/])$ /$1/;
  }
}

Структура моего файла:

/api/index.php
/api/hotbits/index.php
/api/cryptography/index.php

С новой опцией конфигурации это приводит к следующим функциональным URL:

/api
/api/
/api/hotbits
/api/hotbits/
/api/cryptography
/api/cryptography/
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...