2013-12-11 5 views
0

Я изменил мой хостинг и получить ошибку 404 на одном сайте, где мы с помощью файла .htaccess и код, как это, что теперь происходит суб-кошка страницу с указанием ошибки 404 http://www.natural-stones-india.com/sandstone/Golden%20Brown%20Black.html.htaccess ошибка после того, как сервер изменения

. Код htaccess выглядит следующим образом: ----------- может ли кто-нибудь помочь?

Options +FollowSymLinks 
RewriteEngine on 
RewriteRule ^sandstone/(.*).html$ product.php?sandstone=$1 
RewriteRule ^slate/(.*).html$ product.php?slate=$1 
RewriteRule ^marble/(.*).html$ product.php?marble=$1 
RewriteRule ^granite/(.*).html$ product.php?granite=$1 
RewriteRule ^artifacts/(.*).html$ product.php?artifacts=$1 

RewriteRule ^page/(.*)/sandstone/(.*).html$ product.php?page=$1&sandstone=$2 
RewriteRule ^page/(.*)/granite/(.*).html$ product.php?page=$1&granite=$2 
RewriteRule ^page/(.*)/marble/(.*).html$ product.php?page=$1&marble=$2 
RewriteRule ^page/(.*)/artifacts/(.*).html$ product.php?page=$1&artifacts=$2 
RewriteRule ^page/(.*)/slate/(.*).html$ product.php?page=$1&slate=$2 

RewriteRule ^(.*)\.html$ $1.php [nc] 

RewriteRule ^action/(.*)/id/(.*)/cat/(.*)/sub_cat/(.*)shoppingcart.html$ shoppingcart.php?action=$1&id=$2&cat=$3&sub_cat=$4 
RewriteCond %{HTTP_HOST} ^natural-stones-india.com 
RewriteRule ^(.*)$ http://www.natural-stones-india.com/$1 [R=301,L] 

<Files .htaccess> 
order allow,deny 
deny from all 
</Files> 

ErrorDocument 404 /missing.html 
+1

Вы можете перейти непосредственно к 'product.php? Sandstone = $ 1' в браузере? (Передача соответствующих значений для '$ 1', конечно.) – quickshiftin

ответ

1

ОК, давайте рассмотрим некоторые факты

  • Вебсервер не реагирующие с 500 Внутренняя ошибка сервера)

    Заключение: Ваш. Файл htaccess кажется синтаксически правильным

  • Web-сервер правильно выполняет некоторые перезаписи, также документ пользовательских ошибок работает

    Заключения: Ваш файл .htaccess на самом деле читать веб-сервер

  • К первому взгляду все переписывает основанный в корне документа, кажется, работают http://www.natural-stones-india.com/granite.html работы, в то время как http://www.natural-stones-india.com/granite/Pink%20Granite.html не

Заключение: у вас есть проблемы с относительными путями

Возможное решение:

RewriteEngine On 
RewriteBase/
... 

http://httpd.apache.org/docs/current/mod/mod_rewrite.html#RewriteBase

или установить абсолютные цели перезаписи

например,

RewriteRule ^sandstone/(.*).html$ /product.php?sandstone=$1 
Смежные вопросы