如果确实需要在某个 VirtualHost 上启用 AllowOverride,应该怎么做?
时间: 2024-11-09 15:18:42 浏览: 12
要在Apache Web服务器的VirtualHost上启用AllowOverride,你需要在`.htaccess`文件相关的配置部分设置它。通常情况下,在`<Directory>`标签内添加`AllowOverride`指令。这个指令告诉Apache允许哪些头信息(如`Options`、`Indexes`等)在`.htaccess`文件中被覆盖。
例如,在你的VirtualHost配置文件(比如`conf-available/virtualhost.conf`)或者已经启用的VirtualHost的 `<Directory>` 标签内,添加类似这样的内容:
```apache
<VirtualHost *:80>
ServerName yourdomain.com
DocumentRoot /var/www/yourdomain
<Directory "/var/www/yourdomain">
Options Indexes FollowSymLinks MultiViews
AllowOverride All # 允许所有头信息被.htaccess覆盖
Order allow,deny
Allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/yourdomain_error.log
CustomLog ${APACHE_LOG_DIR}/yourdomain_access.log combined
</VirtualHost>
```
在这个例子中,`AllowOverride All` 表示所有的头信息都可以被修改。如果你只想特定的头信息被覆盖,可以换成 `AllowOverride FileInfo` 或者 `AllowOverride AuthConfig` 等。
记得在完成后重启Apache服务让更改生效:
```bash
sudo service apache2 restart
```
阅读全文