【问题标题】:PHP serving pages for URLs with no extensionPHP 为没有扩展名的 URL 提供页面
【发布时间】:2012-03-05 07:07:29
【问题描述】:

我有一个用于开发的 OS X Snow Leopard Server。我注意到,如果我访问 http://site.com/page,它会为 page.php 提供服务,即使没有重写 URL 的 .htaccess 文件。

我想禁用此选项,因为它不是我真正想要的。

谢谢!

稍后编辑:我注意到效果最好的解决方案是Options -MultiViews in .htaccess。谢谢大家!

【问题讨论】:

  • 可能是 MultiViews 或 mod_speling。
  • hide .php extension - htaccess 的可能重复项
  • 你误会了,马里奥,他想禁用重写,而不是启用它。
  • @red:我敢打赌他仍然需要知道什么才能禁用它。如果这不是原因,禁用 mod_rewrite 并没有太大帮助。

标签: php macos apache


【解决方案1】:

如果您不需要 rewrite mod,您应该通过从 apache 文件夹下的 enabled-modules 中删除 rewrite.conf 来禁用它。

【讨论】:

    【解决方案2】:

    按照建议,您需要禁用重写模块。在 Mac 上,您可以通过在文件 /etc/apache2/httpd.conf 中注释掉行 LoadModule rewrite_module libexec/apache2/mod_rewrite.so(在行的开头放置一个分号)来做到这一点。

    请记住,您需要 root 访问权限才能更改此文件,例如sudo <favourite text editor> /etc/apache2/httpd.conf

    然后用sudo apachectl restart重启apache

    【讨论】:

      【解决方案3】:

      肯定在 apache 服务器配置文件中。

      对于开发,您也可以使用 mamp,例如:

      mamp

      【讨论】:

        【解决方案4】:

        检查您的 apache conf 文件,看看那里是否有任何重写设置。还要检查任何虚拟主机部分。

        【讨论】:

          【解决方案5】:

          用户 mario 回答了我的问题,但由于他是在评论中回答的,因此我无法接受该答案。我对他的评论投了赞成票,但我将在此处发布解决方案,因此任何寻找类似内容的人都会发现它更容易:

          options -multiviews
          

          【讨论】: