Sitecore Can';t为营销人员打开Web表单表单设计师或安全经理

Sitecore Can';t为营销人员打开Web表单表单设计师或安全经理,sitecore,web-forms-for-marketers,Sitecore,Web Forms For Marketers,我已经让WFFM在Sitecore实例上运行了一段时间,但它最近已经停止工作。当我在现有表单上转到“表单设计器”时,我会得到标准的Sitecore“未找到请求的文档”页面 请求的URL:/应用程序/模块/web 用户名:sitecore\admin 网站名称:壳牌 如果您试图显示的页面存在,请检查 已将适当的前缀添加到中的IgnoreUrlPrefixes设置 web.config 请注意,请求的URL表示为/applications/modules/web,而不是营销人员的/applicati

我已经让WFFM在Sitecore实例上运行了一段时间,但它最近已经停止工作。当我在现有表单上转到“表单设计器”时,我会得到标准的Sitecore“未找到请求的文档”页面

请求的URL:/应用程序/模块/web

用户名:sitecore\admin

网站名称:壳牌

如果您试图显示的页面存在,请检查 已将适当的前缀添加到中的IgnoreUrlPrefixes设置 web.config

请注意,请求的URL表示为
/applications/modules/web
,而不是营销人员的
/applications/modules/web表单

这个网站最近进行了很多开发,所以我不确定这是什么时候开始的

附加:信息:

  • 文件夹和文件权限正确
  • 我已尝试重新安装WFFM包,并确保所有文件都已安装到位
  • HttpBeginRequest管道中添加了几个处理器,但我将它们全部删除以测试它们是否是原因——它们不是
  • 自从WFFM运行以来,我没有升级Sitecore,并且版本正确
  • 没有记录任何错误
编辑

这似乎也会影响Sitecore安全编辑器:

请求的URL:/appl

用户名:sitecore\admin

网站名称:壳牌

如果您试图显示的页面存在,请检查 已将适当的前缀添加到中的IgnoreUrlPrefixes设置 web.config

编辑2

对此的进一步调查使我认为它与请求的URL有关。我最初认为“未找到”页面错误地显示了请求的url。但是,如果我试图转到
mysite.com/sitecore/shell/applications/fake folder with spaces/fake page with spaces
我会收到以下错误消息:

请求的URL:/应用程序/带空格的假文件夹/带空格的假页面 空间

用户名:sitecore\admin

网站名称:壳牌

如果您试图显示的页面存在,请检查 已将适当的前缀添加到中的IgnoreUrlPrefixes设置 web.config

正如您在错误消息中看到的,请求的Url是正确的。因此,关于我的问题,我认为Sitecore可能首先请求了错误的URL

此外,如果直接在浏览器中键入以下url,则安全编辑器将按预期打开:
mysite.com/sitecore/shell/Applications/Security/User Editor

因此,我要告诉您的第一件事是,我怀疑您对sitecore模块的站点声明有问题。在web.config中,有一个“modules\u shell”和“modules\u website”的站点声明。这些是运行模块的代码文件通常所在的位置。。。用于运行在Sitecore shell中运行的部件的shell文件夹和用于运行外部站点访问的部件的web文件夹。请检查您的站点声明(以及form.config文件),以确保您未处于实时模式或类似模式。我肯定会说,这是你应该开始寻找的地方


接下来要说的是,您关于Sitecore没有在/Sitecore/shell目录中提供url的评论并不令人惊讶。Sitecore处理所有请求,除非您明确告诉它忽略请求(如在web.config中的IgnoreUrlPrefixes中设置),否则它将尝试处理它。像转到/sitecore/shell/applications一样,它会给我一个布局错误,因为它没有任何设置来处理该请求。现在,您的错误表明站点声明有问题。。然而,即使他们没事,这仍然不起作用

因此,我要告诉您的第一件事是,我怀疑您对Sitecore模块的站点声明有问题。在web.config中,有一个“modules\u shell”和“modules\u website”的站点声明。这些是运行模块的代码文件通常所在的位置。。。用于运行在Sitecore shell中运行的部件的shell文件夹和用于运行外部站点访问的部件的web文件夹。请检查您的站点声明(以及form.config文件),以确保您未处于实时模式或类似模式。我肯定会说,这是你应该开始寻找的地方


接下来要说的是,您关于Sitecore没有在/Sitecore/shell目录中提供url的评论并不令人惊讶。Sitecore处理所有请求,除非您明确告诉它忽略请求(如在web.config中的IgnoreUrlPrefixes中设置),否则它将尝试处理它。像转到/sitecore/shell/applications一样,它会给我一个布局错误,因为它没有任何设置来处理该请求。现在,您的错误表明站点声明有问题。。然而,即使他们没事,这仍然不起作用

这已经很旧了,但我想我会为遇到问题的其他人提供更新

不幸的是,Sitecore支持部门只能指出,在链接提供程序中将addAspxExtension属性设置为“true”似乎可以解决问题。这可能是可以接受的,除非无扩展URL对客户很重要

最后,我不得不修改我的链接提供程序,以便在web配置中将addAspxExtension设置为“true”,然后在GetItemUrl方法中仅为指定站点将其设置为false

因此,现在每当上下文站点是“Shell”或“Admin”等时,默认情况下会添加扩展,但在我的主网站中会关闭

当然,这是一个