错误404页面和htaccess问题


Error 404 page and htaccess issues

发生的事情如下:我有一个客户要求我创建一个自定义404错误页面(出于SEO目的),下面是他的网站:

http://www.proloterica.com.br(现场)

http://www.proloterica.com.br/erros/404.html(404路径工作)

http://www.proloterica.com.br/contato/cont(试图重现404错误,什么也没发生)

http://www.proloterica.com.br/cont(发生错误500):

内部服务器错误:服务器遇到内部错误或配置错误,无法完成您的请求。请与服务器管理员联系,proloterica@proloterica.com.br并告知他们错误发生的时间,以及您可能做的任何可能导致错误的事情。服务器错误日志中可能提供了有关此错误的更多信息。此外,在尝试使用ErrorDocument处理请求时,还遇到了500内部服务器错误。

下面是htaccess文件:

AddDefaultCharset ISO-8859-1
SetEnv SESSAO "SITE"
Options -Indexes
#Habilita o Módulo de Reescrita
RewriteEngine On
#Se a URL apontar para um arquivo, vai diretamente para ele
RewriteCond %{REQUEST_FILENAME} !-f
#Se a URL apontar para uma pasta, vai diretamente para ela
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]*)?/?([^/]*)?/?([^/]*)?/?([^/]*)?/?([^/]*)?/?([^/]*)?/?([^/]*)?/?(.*)$ $1/index.php?id=$2&pg=$3&sub=$4&aux1=$5&aux2=$6&aux3=$7&aux4=$8
#RewriteCond %{HTTP_HOST} !^www'.
#RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
ErrorDocument 404 /erros/404.html

知道如何解决这个问题吗?

如果我删除以下内容,错误页面404就会工作:

RewriteRule ^([^/]*)?/?([^/]*)?/?([^/]*)?/?([^/]*)?/?([^/]*)?/?([^/]*)?/?([^/]*)?/?(.*)$ $1/index.php?id=$2&pg=$3&sub=$4&aux1=$5&aux2=$6&aux3=$7&aux4=$8

首先,很可能是因为没有设置flag[L]而出现此错误。因此,替换:

RewriteRule ^([^/]*)?/?([^/]*)?/?([^/]*)?/?([^/]*)?/?([^/]*)?/?([^/]*)?/?([^/]*)?/?(.*)$ $1/index.php?id=$2&pg=$3&sub=$4&aux1=$5&aux2=$6&aux3=$7&aux4=$8

带有:

RewriteRule ^([^/]*)?/?([^/]*)?/?([^/]*)?/?([^/]*)?/?([^/]*)?/?([^/]*)?/?([^/]*)?/?(.*)$ $1/index.php?id=$2&pg=$3&sub=$4&aux1=$5&aux2=$6&aux3=$7&aux4=$8 [L]

(我在这个字符串的末尾添加了[L])。

请注意,RewriteCond下只有一个字符串将被执行。因此,当您删除RewriteRule时,您的ErrorDocument就会正常工作。