【问题标题】:mod_rewrite generating errors in logmod_rewrite 在日志中生成错误
【发布时间】:2010-10-03 01:53:12
【问题描述】:

在我的网站上,我有 mod_rewrite 规则以使 URL 对搜索引擎更友好,并且在前端一切正常,但是我在错误日志中遇到了这样的错误

[Thu Jan 22 22:51:36 2009] [error] [client {IP ADDRESS HERE}] File does not exist: /{some rewritten directory}

我使用的规则相当简单,类似于

RewriteRule ^pages/(.*)_(.*).html$ page.php?id=$2

有没有办法避免这些错误?

【问题讨论】:

  • 报错中给出的路径是什么?是 /page.php 还是别的什么?
  • 路径是大部分时间的目录(/pages/),但偶尔会在该目录中的文件(/pages/image.jpg)

标签: apache .htaccess mod-rewrite logging


【解决方案1】:

MultiViews 可能会导致这种情况。如果启用,Apache 会在将请求传递给 mod_rewrite 之前尝试查找类似于请求的 URI 的文件。所以尝试禁用它:

Options -MultiViews

【讨论】:

    【解决方案2】:

    我认为这些错误与 mod_rewrite 没有任何关系,它们只是说文件不存在。普通的旧 404 错误。

    顺便说一句,重写模式通常不应该以斜杠开头吗?像这样:

    RewriteRule ^/pages/(.*)_(.*).html$ /page.php?id=$2
    

    【讨论】:

      猜你喜欢
      • 2021-03-22
      • 1970-01-01
      • 1970-01-01
      • 2013-12-26
      • 1970-01-01
      • 1970-01-01
      • 2022-11-01
      • 2018-10-30
      • 2018-09-05
      相关资源
      最近更新 更多