文件:
<VirtualHost *:27010>
DocumentRoot /var/www/test/public_html
<Directory /vaw/www/test/public_html>
AllowOverride ALL
</Directory>
</VirtualHost>
端口:
Listen 27010
/var/www/test/public_html/.htaccess
:
RewriteEngine on
给出错误:
/var/www/test/public_html/.htaccess:此处不允许使用 RewriteEngine
请帮忙。尝试过重启,尝试过 a2ensite,a2enmod
答案1
你正在写作AllowOverride ALL
。应该是AllowOverride All
。
从文档:
配置文件中的指令不区分大小写,但指令的参数通常区分大小写。
通常来说,您应该始终遵循文档中使用的大小写。
另外,你随时可以通过运行来测试你的 apache 配置apachectl -t
。它应该可以捕获任何语法错误。
答案2
<VirtualHost *:27010>
DocumentRoot /var/www/test/public_html
<Directory /vaw/www/test/public_html>
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
你可能会发现这篇文章很有帮助: https://httpd.apache.org/docs/2.4/howto/htaccess.html
不过,“Allow”指令是 2.4 之前的版本。如果你使用的是 Apache 2.4,你应该看看“Require”指令 https://httpd.apache.org/docs/2.4/mod/mod_authz_core.html#require
答案3
DocumentRoot /var/www/test/public_html <Directory /vaw/www/test/public_html>
正如评论中所述,指令中指定的文件路径中的拼写错误<Directory>
似乎是问题所在。/vaw/
应该是/var/
匹配的DocumentRoot
。 如果文件路径不正确,该<Directory>
部分将被忽略。