我刚刚安装了ColdFusion 2016(从CF10升级),我注意到每当我尝试访问我的webroot中名为'api'的文件夹时,我都会收到内部500错误。
例如:www.mysite.com/api /
我认为这与新的ColdFusion API REST服务有关,因此我创建了另一个名为“rest”的目录,执行了相同的测试(www.mysite.com/rest/),并收到了另外500个错误。< / p>
奇怪的是我没有使用ColdFusion REST服务,我没有在ColdFusion Administrator中启用它。
我的问题:
您是否可以在您的网络根目录中找到名为“api”或“rest”的文件夹名称?或者这些是现在保留的文件夹名称?是否有解决方法来禁用特定站点的此功能,以便我可以使用这些文件夹名称?
答案 0 :(得分:12)
在Adobe论坛上看到这个,它应该回答你的问题:
您无法访问/ api /或/ rest /的原因是因为这些文件夹有cf servlet映射。
您可以转到cfinstall / cfusion / wwwroot / WEB-INF / web.xml删除映射。搜索api servlet-mapping并将其注释掉。
除了使用IIS重写将流量重定向到另一个文件夹之外,似乎没有办法为特定站点执行此操作。这样的事情应该有效(将流量从/ api /重定向到/ api2 /):
<rule name="Redirect" stopProcessing="true">
<match url="^api$|^api/(.*)" />
<action type="Rewrite" url="api2/{R:1}" appendQueryString="true" />
</rule>
如果有人知道如何在不修改web.config的情况下为特定网站禁用此功能,请随时分享您的想法。