2015-11-04 90 views
1

首先,感謝那些可能幫助我處理這個問題的人! :)錯誤404頁面和htacess問題

發生了什麼事是這樣的:我有一個要求我創建了一個自定義404錯誤頁面(搜索引擎優化的目的)的客戶端,在這裏跟隨他的網站:

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發生):

內部服務器錯誤:服務器遇到內部錯誤或配置錯誤,無法完成您的請求。請聯繫服務器管理員[email protected]並告知他們錯誤發生的時間,以及您可能已經造成的任何可能導致錯誤的事情。有關此錯誤的更多信息可能在服務器錯誤日誌中可用。此外,嘗試使用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 
+2

首先,查看你的apache error.log文件並向你的問題添加錯誤信息。 –

+0

我沒有訪問日誌,它是在KingHost中託管的,如果我刪除了RewriteRule ^([^ /] *)?/?([^ /] *)?(?),我只能訪問ftp – andre

+0

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

回答

1

首先,最有可能的,因爲你沒有設置標誌[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下只有一個字符串會被執行。 所以,當你刪除重寫規則你得到你的ErrorDocument工作。