【问题标题】:Mod_rewrite will accept one string but not anotherMod_rewrite 将接受一个字符串但不接受另一个
【发布时间】:2020-02-20 01:17:51
【问题描述】:

谁能告诉我发生了什么事...

RewriteEngine on

RewriteRule ^contacto/?$ index.php?seccion=contacto [L]
RewriteRule ^contactar/?$ index.php?seccion=contacto [L]

我希望“contacto”将我带到“index.php?seccion=contacto”,但它只是将我带到“contacto.php”,完全无视我的规则。有趣的是,如果我将字符串“contacto”更改为第二行中的其他内容,它会起作用,将我带到“index.php?seccion=contacto”

根目录或任何子文件夹上没有其他 .htaccess。我有一个带有 Apache 2.4 和 Php 7.2 的 Wamp(最新版本)的新副本

有什么想法吗?

【问题讨论】:

  • 据我所知,当您在 .htaccess 文件中有重写规则时,需要一个 RewriteBase 指令。但这不能解释你的问题。
  • @hakre 不,不需要

标签: apache mod-rewrite wamp


【解决方案1】:

您必须在 Apache 设置中启用 MultiViews 选项。在 .htaccess 文件的顶部添加 Options -MultiViews 以禁用它。

MultiViews 不能很好地与重写规则配合使用,因为它会根据发送的接受语言标头将 'contact' 等 URI 转换为 'contact.en.php' 或 'contact.fr.php'请求。

【讨论】:

    猜你喜欢
    • 2016-07-14
    • 1970-01-01
    • 1970-01-01
    • 2015-07-02
    • 1970-01-01
    • 1970-01-01
    • 2021-05-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多