ColdFusion 2016: Может ли у вас быть папка в корневом каталоге веб-сайта с именем «api» или «rest»?

Я только что установил ColdFusion 2016 (обновленный с CF10) и заметил, что всякий раз, когда я пытаюсь получить доступ к папке в моем корневом каталоге под названием «api», я получаю внутреннюю ошибку 500.

Например: www.mysite.com/api/

Я предполагаю, что это как-то связано с новой службой REST ColdFusion API, поэтому я создал еще один каталог с именем «rest», выполнил тот же тест (www.mysite.com/rest/) и получил еще одну ошибку 500.

См. снимок экрана с ошибкой IIS: введите здесь описание изображения

Странно то, что я не использую службу ColdFusion REST и не включил ее в Администраторе ColdFusion.

Мой вопрос:

Вам больше разрешено иметь имена папок в корневом каталоге веб-сайта с именами «api» или «rest»? Или это теперь зарезервированные имена папок? Есть ли способ отключить эту функцию для определенного сайта, чтобы я мог использовать эти имена папок?


person Dave L    schedule 06.10.2016    source источник


Ответы (1)


Видел это на форумах Adobe, которые должны ответить на ваш вопрос:

Причина, по которой вы не можете получить доступ к /api/ или /rest/, заключается в том, что для этих папок существует отображение сервлета cf.

Вы можете удалить сопоставление, перейдя в cfinstall/cfusion/wwwroot/WEB-INF/web.xml. Найдите сопоставление сервлетов API и закомментируйте его.

Кажется, нет другого способа сделать это для конкретного сайта, кроме как с помощью перезаписи IIS для перенаправления трафика в другую папку. Что-то вроде этого должно работать (перенаправляет трафик с /api/ на /api2/):

<rule name="Redirect" stopProcessing="true">
     <match url="^api$|^api/(.*)" />
     <action type="Rewrite" url="api2/{R:1}" appendQueryString="true" />
</rule>

если кто-нибудь знает способ отключить это для определенного сайта без изменения web.config, пожалуйста, поделитесь своими идеями.

person Hen    schedule 06.10.2016
comment
Это безумие! Это сводило меня с ума в течение нескольких часов, и я не мог найти его нигде. Спасибо. Также важно отметить, что это ПО-ПРЕЖНЕМУ существует в CF 2018. Даже если в CFIDE отключены все остальное и API, это все еще проблема. Я пытался отредактировать файл <cfinstall>/cfusion/wwwroot/WEB-INF/web.xml безуспешно. Мне удалось разбить только экземпляр CF. - person Keith E. Truesdell; 19.03.2021