【问题标题】:Apache .htaccess mod_rewrite - can't redirect to a file with the same prefix?Apache .htaccess mod_rewrite - 无法重定向到具有相同前缀的文件?
【发布时间】:2014-07-07 12:27:56
【问题描述】:

为什么这个 .htaccess 规则不起作用?请求 mydomain.com/login 时得到 404:

RewriteEngine On
RewriteRule ^login$ login.php [L]

如果我将^login$ 更改为^logn$ 或将login.php 更改为login1.php,它确实有效。

我可以更改我的文件名,但我想知道为什么它不起作用。

问题发生在 Ubuntu 14.04 上。阿帕奇版本:2.4.2。 在我的开发 Windows7 上它似乎工作正常。

【问题讨论】:

    标签: regex apache .htaccess mod-rewrite apache2


    【解决方案1】:

    您的规则是正确的,但您可能对多视图有疑问。试试这样(只添加顶行,并在login 之后给你一个可选的斜线,以便login/ 也被重定向):

    Options -Multiviews
    RewriteEngine On
    RewriteRule ^login/?$ login.php [L]
    

    【讨论】:

      猜你喜欢
      • 2021-07-22
      • 2019-02-02
      • 2014-10-06
      • 2011-08-19
      • 2015-03-30
      • 2012-03-11
      • 1970-01-01
      • 2011-11-22
      • 2023-03-15
      相关资源
      最近更新 更多