.htaccess给出内部错误

时间:2014-12-19 07:23:44

标签: .htaccess html-helper

我的页面经常出现禁止访问或内部服务器错误等错误,我认为问题是因为我的.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/

1 个答案:

答案 0 :(得分:1)

2件事:

  1. deny from ../tools/完全没有任何意义,你所有来自行的否定都会导致500错误。 mod_auth docs说的语法是:

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

    这意味着它可以是“全部”,主机/ IP或环境变量。 ../tools/不属于他们。您无法将路径放在Deny

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

    ../errors/404.html
    

    作为页面的消息,而不是html文件的内容。将它们改为绝对路径。