繁体   English   中英

错误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

首先,最有可能的是,由于没有设置标志[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即可工作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM