3

好吧,这还不是问题,但我不明白为什么 Apache 正在读取.htaccess文件......我这样做:

grep -R "AllowOverride" /etc

我有:

/etc/apache2/apache2.conf:# for additional configuration directives.  See also the      AllowOverride
/etc/apache2/sites-available/default:       AllowOverride None
/etc/apache2/sites-available/default:       AllowOverride None
/etc/apache2/sites-available/default:   #   AllowOverride None
/etc/apache2/sites-available/default:#        AllowOverride None
/etc/apache2/sites-available/default-ssl:       AllowOverride None
/etc/apache2/sites-available/default-ssl:       AllowOverride None
/etc/apache2/sites-available/default-ssl:       AllowOverride None
/etc/apache2/sites-available/default-ssl:       AllowOverride None
/etc/apache2/conf.d/security:#  AllowOverride None
/etc/apache2/conf.d/localized-error-pages:#        AllowOverride None
/etc/apache2/mods-available/userdir.conf:                AllowOverride FileInfo AuthConfig Limit Indexes
/etc/apache2/mods-available/alias.conf:    AllowOverride None
/etc/apache2/sites-enabled/000-default:     AllowOverride None
/etc/apache2/sites-enabled/000-default:     AllowOverride None
/etc/apache2/sites-enabled/000-default: #   AllowOverride None
/etc/apache2/sites-enabled/000-default:#        AllowOverride None
/etc/apache2/mods-enabled/alias.conf:    AllowOverride None
grep: /etc/blkid.tab: No such file or directory

似乎我没有 AllowOverride all,那么它为什么有效?

4

1 回答 1

2

但是你有:

/etc/apache2/mods-available/userdir.conf:  AllowOverride FileInfo AuthConfig Limit Indexes

尽管这与 userdir 配置有关,但FileInfo覆盖是 apache 在该上下文中读取 htaccess 文件的最低要求。

AllowOverride 文档中,我们有:

文件信息

允许使用控制文档类型的指令(DefaultType、ErrorDocument、ForceType、LanguagePriority、SetHandler、SetInputFilter、SetOutputFilter 和 mod_mime Add* 和 Remove* 指令等)、文档元数据(Header、RequestHeader、SetEnvIf、SetEnvIfNoCase、BrowserMatch、 CookieExpires、CookieDomain、CookieStyle、CookieTracking、CookieName)、mod_rewrite 指令(RewriteEngine、RewriteOptions、RewriteBase、RewriteCond、RewriteRule)、mod_alias 指令(Redirect、RedirectTemp、RedirectPermanent、RedirectMatch)和来自 mod_actions 的操作。

AllowOverride是“None”以外的任何内容时,将读取 htaccess 文件,并且根据覆盖选项,htaccess 文件中的某些语句将被执行。碰巧该FileInfo选项涵盖了 htaccess 文件中的许多常用指令。

于 2013-08-13T09:23:04.430 回答