【发布时间】:2016-02-05 13:48:22
【问题描述】:
发生了以下情况:我有一个客户要求我创建一个自定义 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 Internal Server Error 错误。
下面是 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
【问题讨论】:
-
首先,查看您的 apache error.log 文件并将错误消息添加到您的问题中。
-
我无法访问日志,它托管在 KingHost 中,我只能访问 ftp
-
如果我删除 RewriteRule ^([^/]*)?/?([^/]*)?/?([^/]*)?/?([^/]*) ?/?([^/]*)?/?([^/]*)?/?([^/]*)?/?(.*)$ $1/index.php?id=$2&pg=$3 &sub=$4&aux1=$5&aux2=$6&aux3=$7&aux4=$8 404 页面有效
标签: php .htaccess http-status-code-404