我正在使用Kentico v9
我只有一个内容页面类型,带有富文本字段。用户编辑文本并使用工具栏单击图像图标以添加图像。他们选择一个文件。它上传图像,但创建的链接导致404错误。我可以看到属性/附件列表中列出的图像,但尝试浏览图像会产生404.有趣的是,我可以编辑照片,它将出现在编辑屏幕中,因此我知道图像上传成功。
自动嵌入HTML的链接是/getattachment/folderPage/imageName.jpg
我见过其他一些有类似问题的人,但这些解决方案似乎都不起作用。
任何帮助将不胜感激。 埃里克
答案 0 :(得分:2)
鉴于您提供的图像URL路径为/getattachment/folderPage/imageName.jpg
,请检查您是否在web.config
文件中配置了模块前置条件。
在<system.webServer>
元素中,检查runAllManagedModulesForAllRequests
元素的true
属性是否设置为modules
。
<system.webServer>
<modules runAllManagedModulesForAllRequests="true">
的要求
答案 1 :(得分:1)
A)你是否正确设置了webfarms并且你的两个webfarms都健康了?
来自docs:
内容同步,例如智能搜索索引,是 由网络农场处理。
B)你是否在web.config -s中正确设置了hashsalt字符串?
来自docs:
从Kentico项目的web.config复制CMSHashStringSalt appSettings项的值,并将该值添加到MVC项目的web.config中的相同键中(默认情况下为空)。这可确保MVC应用程序使用与Kentico应用程序相同的salt值生成哈希值(例如,用于宏签名或页面预览链接)。
C)你有两个合适的许可证(一个用于管理,一个用于启用了webfarms的MVC站点)?
来自docs:
ASP.NET MVC应用程序的Kentico开发模型依赖于Web场功能。要在Kentico实例中使用Web场,您需要为Web场中的每个其他服务器获取另一个服务器许可证。如果没有适当的许可证密钥,某些Kentico服务(例如智能搜索)将无法正常工作,因为数据未同步。
D)您是否设置了正确的演示文稿URL?
来自docs。
如果要在与运行Kentico管理的域不同的域上运行实时站点(例如,运行单独的MVC应用程序时),则需要指定通向站点域的URL。
您是否可以另外检查事件日志中是否有任何错误或警告?
编辑:不需要使用runAllManagedModulesForAllRequests(iis 7.5+,我认为)。您必须将其用于proper handling of 404s。
答案 2 :(得分:1)
我通常不会按照这种方法来准确解决你所面临的问题。
您可以检查两件事
配置无扩展名的网址,例如[this] (https://docs.kentico.com/display/K8/Custom+and+extensionless+URLs)
<modules runAllManagedModulesForAllRequests="true">
希望首先在媒体库中上传您要使用的所有附件,然后在文章中使用参考。这样,它可以跨多个位置轻松访问,并且可以使用内容暂存进行迁移。