我可以访问安装了apache的Ubuntu机器,我连接到使用PuTTy。
出于某种原因,我的.htaccess文件不能正常工作,这是它包含的所有内容:
ErrorDocument 404 /handler.php
而不是去到handler.php页面,它打印出一般Not Found apache页面。
我search了谷歌,所有我能find的信息说,确保在你的ApacheconfigurationAccessFileName设置为.htaccess和AllowOverride设置为全部。
我改变了我的configuration文件(/etc/apache2/apache2.conf),它现在包含这个:
AccessFileName .htaccess <Directory /> AllowOverride All #AllowOverride None </Directory>
我重新启动apache( sudo /etc/init.d/apache2 restart ),但我仍然得到完全相同的问题。
对不起,我对Linux和Apache Config不熟悉。
grep -R AllowOverride /etc/apache2 :尝试查看是否有任何活动configuration文件(在conf.d或启用网站的情况下)没有对webroot的父目录设置一些限制(对/可以,但如果有人可以限制在/ var / www / mysite)。 你可以通过在里面设置拒绝来检查.htaccess是否被读取(你应该拒绝访问)
Apache无法find你的handler.php文件。
这个文件应该驻留在VirtualHost(网站)的DocumentRoot文件夹中。
肯定是的,它和.htaccess文件在同一个目录下
这可能是你的问题。 该指令中的path始终相对于DocumentRoot文件夹,而不是.htaccess文件的位置。
检查urlhttp://www.example.com/handler.php,因为这是你告诉Apacheredirect到的URL。
http://httpd.apache.org/docs/2.2/mod/core.html#errordocument