2014-12-19 53 views
2

我的网页经常给人这样的错误禁止访问或内部服务器错误,我认为这个问题了,因为我的.htaccess文件的配置,那就是:的.htaccess给内部错误

<Files ~ "^\.(htaccess|htpasswd)$"> 
deny from all 
</Files> 
Options Indexes 
ErrorDocument 400 ../errors/400.html 
ErrorDocument 401 ../errors/401.html 
ErrorDocument 403 ../errors/403.html 
ErrorDocument 404 ../errors/404.html 
ErrorDocument 500 ../errors/500.html 
RewriteEngine on 
RewriteCond %{HTTP_HOST} ^(www\.bedif\.net)(:80)? [NC] 
RewriteRule ^(.*) http://bedif.net/$1 [R=301,L] 
DirectoryIndex index.html  
order deny,allow 
deny from ../tools/ 
deny from ../lightbox/ 
deny from ../errors/ 
deny from ../images/ 
+0

检查你的apache错误日志/ – hjpotter92 2014-12-19 07:29:00

回答

1

两两件事:

  1. deny from ../tools/根本没有任何意义,而你所有的否定行都会导致500错误。该mod_auth docs说,这个语法是:

    Deny from all|host|env=[!]env-variable 
    

    这意味着它可以是一个“全”,主机/ IP,或environmet变量。 ../tools/是他们中的任何一个。您不能将路径放入Deny

  2. ErrorDocument指令采用完整的URL或文件的绝对路径。除此之外,Apache假定你给它一个特定的错误信息。这意味着,如果你去到一个文件不存在,你会得到一个404页将字面上说

    ../errors/404.html 
    

    与页面的消息,而不是HTML文件的内容。将这些更改为绝对路径。