我的网站代码位于/Library/WebServer/Documents/edu
,我使用以下.htaccess
文件:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^(.*) /index.html [NC,L]
我已放在/Library/WebServer/Documents/edu
下,但apache服务器似乎忽略了这个文件,我在这里做的任何改变都没有生效。
我是否需要做一些额外的更改?
答案 0 :(得分:6)
默认情况下,Apache已禁用.htaccess,因此您必须启用它。
转到并修改/etc/apache2/httpd.conf
您会找到一个如下所示的部分:
<Directory />
Options FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
</Directory>
您必须将AllowOverride None
更改为AllowOverride All
,然后找到之后应该以{{1}}开头的部分,并且您必须将相同的内容更改为{{1} }}
答案 1 :(得分:0)
答案是在Apache 2.4之后过时的
正确的方法是:
DocumentRoot "/Library/WebServer/Documents"
<Directory "/Library/WebServer/Documents">
AllowOverride all
Allow from all
</Directory>