【问题标题】:Can't Open Web forms for marketers Form Designer or Security Manager无法为营销人员打开 Web 表单表单设计器或安全管理器
【发布时间】:2013-05-02 17:46:18
【问题描述】:

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

请求的 URL:/applications/modules/web

用户名:sitecore\admin

站点名称:shell

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

请注意,请求的 URL 声明为 /applications/modules/web 而不是 /applications/modules/web forms for marketers

这个网站最近发生了很多发展,所以我不确定这到底是什么时候开始的。

补充:信息:

  • 文件夹和文件权限正确。
  • 我已尝试重新安装 WFFM 软件包,并确保所有文件都已到位。
  • 已将多个处理器添加到 HttpBeginRequest 管道中,但我将它们全部删除以测试它们是否是原因 - 它们不是。
  • 自从 WFFM 工作以来,我还没有升级 Sitecore,并且版本是正确的。
  • 没有记录错误

编辑

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

请求的网址:/appl

用户名:sitecore\admin

站点名称:shell

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

编辑 2

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

请求的 URL:/applications/fake 带有空格的文件夹/带有 空格

用户名:sitecore\admin

站点名称:shell

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

您可以在错误消息中看到请求的 URL 是正确的。因此,就我的问题而言,我认为 Sitecore 可能首先请求了错误的 URL。

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

【问题讨论】:

  • 你检查过文件夹和文件的权限吗?
  • 是否向 HttpRequestPipeline 添加了任何可能拦截这些请求并将您发送到错误 URL 的内容?类似于 301 重定向模块?
  • 站点核心升级了吗?也许DLL已经改变。也许您不再为您的 Sitecore 版本使用正确版本的 WFFM 模块。
  • 您在站点核心日志中发现了什么有用的信息吗?
  • 您是否已开具站点核心支持的工单?我相信 WFFM 模块是受支持的模块。

标签: sitecore web-forms-for-marketers


【解决方案1】:

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

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

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

所以现在只要上下文站点是“Shell”或“Admin”等,默认情况下会添加扩展,但在我的主网站中关闭。

当然,这是一种变通方法。我仍然不知道如何真正修复问题

【讨论】:

    【解决方案2】:

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

    接下来要说的是,关于 Sitecore 不在 /sitecore/shell 目录中提供 url 的 cmets 确实不足为奇。 Sitecore 处理所有请求,除非您明确告诉它忽略请求(例如在 web.config 中的 IgnoreUrlPrefixes 中设置它),它会尝试处理它。就像去 /sitecore/shell/applications 一样给我一个布局错误,因为它没有任何设置来处理该请求。现在您的错误表明站点声明有问题。但是,即使它们没问题,它仍然不起作用。

    【讨论】:

    • 感谢您的回答。我检查了“modules_shell”和“modules_website”站点声明,它们与普通 Sitecore 安装相同(相应的文件夹结构也是如此)。此外,我们没有在实时模式下运行。
    • 我关于“/sitecore/shell”的 cmets 是为了证明错误页面中报告的 URL 与 Sitecore 应该在内部调用以打开页面的 URL 不同,这看起来很奇怪。例如 - “请求的 URL:/appl”
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多