【问题标题】:mod_speling not enabling case-insensitivity as expectedmod_speling 未按预期启用不区分大小写
【发布时间】:2012-09-28 03:09:42
【问题描述】:

我在两个不同的 VPS 帐户上运行 Ubuntu 12,并且在这两个帐户上都遇到了同样的问题。

  • 我已通过“a2enmod 拼写”启用拼写模块。

  • 我在 /etc/apache2/mods-available 中有 speling.load 和 speling.conf,它们在 /etc/apache2/mods-enabled 中有别名。

  • cat speling.conf 产生“CheckSpelling on”,cat speling.load 产生“LoadModule speling_module /usr/lib/apache2/modules/mod_speling.so”

  • 我还验证了 /usr/lib/apache2/modules/ 确实包含“mod_speling.so”。

  • 我反复重启了 Apache。

然而 - 如果我在 URL 中错误地大写了一个单词,我会得到一个 404。“CheckSpelling on”不是为了消除这种情况吗?可能我理解错了。

我确信我错过了一些愚蠢的步骤,但想不出是什么。

【问题讨论】:

  • 与其编辑您的帖子,我不得不问...您在整个配置过程中是否正确拼写了“拼写”?我不禁注意到你在这里讽刺地使用了“拼写”。
  • "speling" 是正确的。模块名为 mod_speling。更多信息:httpd.apache.org/docs/2.2/mod/mod_speling.html

标签: apache mod-speling


【解决方案1】:

在它运行多年之后,这也突然不适合我了。

我更改了我的配置指令:

 CheckSpelling on
 CheckCaseOnly on

收件人:

 checkspelling on
 checkcaseonly on

现在它又可以工作了。所以把它全部小写,看看是否有帮助。

【讨论】:

  • 更好的解决方案是转到00-base.conf in \conf.modules.d` 文件夹并从LoadModule speling_module modules/mod_speling.so 中删除#,现在mod_speling.so 将加载并正常工作。
【解决方案2】:

这很可能是 mod_rewrite 干扰了 mod_speling,因为不检查匹配 mod_rewrite 规则的 url 的拼写。

检查您的 httpd.conf、站点配置以及 .htaccess 文件中的 mod_rewrite 规则,这些规则可能与您尝试不区分大小写的 url 匹配。

【讨论】:

    【解决方案3】:

    如果你的 httpd.conf 看起来像这样

    不要添加

    LoadModule speling_module modules/mod_speling.so
    

    即使这样可以解决问题.. 而是浏览conf.modules.d 文件夹的所有目录并加载所有文件并搜索mod_speling.so,您会在00-base.conf 中找到它并删除@987654333来自它的@ hashtag,它将立即加载。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-01
      • 2013-03-06
      • 2020-02-18
      • 2015-08-30
      • 1970-01-01
      • 2017-08-14
      相关资源
      最近更新 更多