Mod_rewrite 将接受一个字符串而不是另一个
Mod_rewrite will accept one string but not another
谁能告诉我发生了什么事...
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。我有一个新的 Wamp(最新版本)副本,带有 Apache 2.4 和 Php 7.2
有什么想法吗?
您必须在 Apache 安装程序中启用 MultiViews 选项。在 .htaccess
文件的顶部添加 Options -MultiViews
以禁用它。
MultiViews
不能很好地使用重写规则,因为它会根据 accept-language 尝试将 'contact' 之类的 URI 转换为 'contact.en.php' 或 'contact.fr.php' headers 已发送请求。
谁能告诉我发生了什么事...
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。我有一个新的 Wamp(最新版本)副本,带有 Apache 2.4 和 Php 7.2
有什么想法吗?
您必须在 Apache 安装程序中启用 MultiViews 选项。在 .htaccess
文件的顶部添加 Options -MultiViews
以禁用它。
MultiViews
不能很好地使用重写规则,因为它会根据 accept-language 尝试将 'contact' 之类的 URI 转换为 'contact.en.php' 或 'contact.fr.php' headers 已发送请求。