apache 的 allowoverride all 并不像你想象的那样-ag捕鱼王app官网

apache 的 allowoverride all 并不像你想象的那样

作者:迹忆客 最近更新:2023/01/06 浏览次数:

我只需要为一个学校项目设置一个 apache 服务器。 因为我喜欢使用 .htaccess 文件来设置重写规则并摆弄一些其他选项,所以除了标准批处理之外还必须加载一些额外的模块。

使用 phpinfo() 可以轻松检查当前加载了哪些模块,如这篇关于在 apache 中启用 mod_rewrite 的文章中所述。

激活 apache 模块很简单:只需打开 apache 安装 /conf/ 文件夹中的 httpd.conf 文件,然后取消注释(或添加)相应的行。 注释行始终以井号 (#) 开头。

基本上,要加载 mod_negotiation(用于多视图)和 mod_rewrite(用于重写规则),我们只需将以下行添加到 httpd.conf

loadmodule negotiation_module modules/mod_negotiation.so
loadmodule rewrite_module modules/mod_rewrite.so

到目前为止,一切都很好。 apache 被指示加载额外的模块; 我们现在应该能够使用 multiviews 并通过在 .htaccess 文件中定义它们来重写规则。

然而,当我尝试使用 options multiviews 时,我得到的只是那些臭名昭著的“500 internal server error”页面之一。

错误日志在 .htaccess: option multiviews not allowed here 的行中说了一些东西。

在这种情况下,谷歌并没有真正提供帮助。 起初,我只能找到有同样问题的人。 在我真正开始浏览旧的 #apache irc 日志之前,我找不到任何ag捕鱼王app官网的解决方案。

事实证明,apache 在 httpd.conf 中有一个默认设置,它指定了可以被写入 .htaccess 文件的内容覆盖的设置:allowoverride。 我们的 httpd.conf 可能包含如下内容:


  options followsymlinks
  allowoverride all
  order deny,allow
  deny from all

与我们的想法相反,all 参数并不真正意味着“**[允许覆盖]所有选项** ”,因为它不包括 multiviews 选项! 这里的关键是使用allowoverride options=all,multiviews。 与所有其他指令分组一起,这是我们需要的代码:


  options followsymlinks
  allowoverride authconfig fileinfo indexes limit options=all,multiviews
  order deny,allow
  deny from all

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

在 apache2 中启用 php

发布时间:2023/03/27 浏览次数:203 分类:php

本文将教你如何使用 a2enmod、loadmodule 和符号链接在 apache2 中启用 php。如果你遇到有关 php 的模块错误,我们将教你如何通过 apt-get 修复它。

从url中移除 www.

发布时间:2023/01/06 浏览次数:157 分类:学无止境

如果你讨厌网站 url 中的 www. 部分(就像我大约两个月前开始做的那样),你应该让其他人包括搜索引擎知道这一点。 这只是将通过 www. 访问的每个页面重定向到与其相等的 非www 的

php zookeeper你需要知道的细节

发布时间:2017/03/12 浏览次数:3650 分类:php

本章介绍如何在php中集成zookeeper,使用php-zookeeper扩展插件。同时通过分析php-zookeeper源码来了解其存在的一些问题,各位在使用过程中尽量避免相似问题。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便
网站地图