Перейти к содержанию
Форум поддержки пользователей VamShop

Есть ли в магазине обработчик 404?


Рекомендуемые сообщения

Еще вопрос возник:

Ввожу неправильный адрес - попадаю на главную страницу.

А если я хочу свою страницу сделать для 404 - как мне быть?

Ссылка на сообщение
Поделиться на другие сайты

Например создать в корне магазина файл .htaccess с таким содержимым:


ErrorDocument 404 /404.html
[/code]

а также создай в корне 404.html файл с нужым тебе содержмимым.

Ссылка на сообщение
Поделиться на другие сайты
  • 1 year later...

Парочка вопросов:

1. Так можно и с другими ошибками поступать, т.е. для ошибки 400, добавить в .htaccess строку

ErrorDocument 400 /400.html

и соответственно страницу 400.html в корне сайта?

2. Как сделать так, чтобы страница с ошибкой 404 оформлялась как шаблон магазина (что то вроде этого vamshop.ru/html) только вместо товара отображался бы заданный текст?

Спасибо!

Ссылка на сообщение
Поделиться на другие сайты

1. Да.

Только что за 400 ошибка!?

2. Сделайте информационную страницу через админку и назначите "ручной" адрес этой странице, например 404.html и в .htaccess как раз попробуйте поставить 404.html. Только эту записать в .htaccess лучше внизу где-нибудь вставлять.

Либо если ручной адрес не будет работать, вместо 404.html пишите просто адрес информационной страницы, вида: shop_content.php?coID=X

Ссылка на сообщение
Поделиться на другие сайты

Только что за 400 ошибка!?

400 - Bad Request - сервер не понял запрос

2. Сделайте информационную страницу через админку и назначите "ручной" адрес этой странице, например 404.html и в .htaccess как раз попробуйте поставить 404.html. Только эту записать в .htaccess лучше внизу где-нибудь вставлять.

Либо если ручной адрес не будет работать, вместо 404.html пишите просто адрес информационной страницы, вида: shop_content.php?coID=X

Ручной Seo url не работет, в общем создал страничку в админке - информационные страницы, полный адрес её worldsells.ru/shop_content.php/coID/0/content/Oshibka--404-Not-Found это то, что мне нужно, далее в корень сайта, вставляю в файл .htaccess в самый низ, строку

ErrorDocument 404 /shop_content.php/coID/0/content/Oshibka--404-Not-Found
Затем в адресную строку ввожу неправильный url и по прежнему попадаю на главную страницу, что я неправильно сделал? Вот всё содержимое файла .htaccess
AddDefaultCharset utf-8

RewriteEngine On
RewriteBase /

RewriteRule ^product_reviews_write\.php\/info\/p(.*)_.*\.html product_reviews_write\.php\?products_id=$1 [L]
RewriteRule ^product_reviews_write\.php\/action\/process\/info\/p([0-9]*)_.*\.html product_reviews_write\.php\?action=process\&products_id=$1 [L]

RewriteRule ^product_info\.php\/info\/p(.*)_.*\/action\/add_product product_info\.php\?products_id=$1\&action=add_product\ [L]
RewriteRule ^shopping_cart\.php\/products_id\/([0-9]*)\/info\/p([0-9]*)_.*\.html shopping_cart\.php\?products_id=$1 [L]

RewriteRule ^(product_info|index|shop_content).php(.*)$ redirector.php [L]

RewriteRule ^.*\.gif|\.jpg|\.png|\.css|\.js$ - [L]
RewriteRule ^(.*).html(.*)$ manager.php [L]

RewriteRule ^.*\.gif|\.jpg|\.png|\.css|\.php|\.js$ - [L]

# PHP 5, Apache 1 and 2.
<IfModule mod_php5.c>
php_value magic_quotes_gpc 0
php_value register_globals 0
php_value session.auto_start 0
php_value mbstring.http_input   pass
php_value mbstring.http_output pass
php_value mbstring.encoding_translation   0
php_value default_charset UTF-8
php_value mbstring.internal_encoding UTF-8
</IfModule>
Options +FollowSymLinks
RewriteEngine on
RewriteBase /
#--- www redirect
RewriteCond %{HTTP_HOST} ^www\.worldsells\.ru [NC]
RewriteRule ^(.*)$ http://worldsells.ru/$1 [R=permanent,L]
ErrorDocument 404 /shop_content.php/coID/0/content/Oshibka--404-Not-Found[/code]

Ссылка на сообщение
Поделиться на другие сайты

Попробуй укажи именно так как я сказал, т.е. /shop_content.php?coID=X, где X - id номер страницы, этот номер виден в строке браузере когда страницу редактируешь в админке.

Ссылка на сообщение
Поделиться на другие сайты

Попробуй укажи именно так как я сказал, т.е. /shop_content.php?coID=X, где X - id номер страницы, этот номер виден в строке браузере когда страницу редактируешь в админке.

Этот пример тоже не подходил. В общем я переезжал с одного хостера на другой, у первого изначально в public_html лежал файл .htaccess, а у второго нет. При переносе скрипта, перенёс и .htaccess

Короче в файле .htaccess было много мусора на мойц взгляд, всё удалил кроме строк

Options +FollowSymLinks
RewriteEngine on
RewriteBase /
#--- www redirect
RewriteCond %{HTTP_HOST} ^www\.worldsells\.ru [NC]
RewriteRule ^(.*)$ http://worldsells.ru/$1 [R=permanent,L]
ErrorDocument 404 /shop_content.php/coID/0/content/Oshibka--404-Not-Found[/code]

И всё заработало, но теперь не войти ни в одну статью, ни в одну категорию, открывает сразу страницу с этой ошибкой

Ссылка на сообщение
Поделиться на другие сайты

И всё заработало, но теперь не войти ни в одну статью, ни в одну категорию, открывает сразу страницу с этой ошибкой

Ты зря убрал строку:

RewriteRule ^(.*).html(.*)$ manager.php [L]

Именно она отправляет ЧПУ на разбор в соответствующий скрипт.

Ссылка на сообщение
Поделиться на другие сайты

Перед тем, как сделать что-либо с магазином или файлом, я всегда сохраняю оригинал, так что всё ok.

Новая версия VaM Shop 1.49

11. Добавлен заголовок 404 при открытии неактивных, либо удалённых товаров, что б в поисковиках не скапливались не нужные проиндексированные html-страницы.

Новая версия VaM Shop 1.50

Revision 2015

Удалено указание 404 заголовка для отсутствующих товаров, вызывало ошибку на некоторых хостингах

Некоторые не очень продвинутые покупатели, не сразу сообразят, что такой страницы с товаром больше нет, если их перекинет на главную страницу.

VaM, подскажи пожалуйста, что и где править, чтобы вновь сделать заголовок 404 при открытии неактивных, либо удалённых товаров (т.к. думаю альтернативы тут нет)? (может на хостинге, где расположен мой сайт, будет всё нормально.. посмотрю)

P.S. стоит версия 1.50

Ссылка на сообщение
Поделиться на другие сайты

Этот заголовок 404 не на всех хостингах работает, кое где ошибку выдавал в шапке, у меня вот например нормально всё было, а многие люди писали, что например когда заходишь на страницу с результатами поиска, который ничего не нашёл, выдаёт ошибку. Я пока что закомментировал строку эту с 404 ошибкой.

Просто в /includes/modules/error_hanlder.php внизу, на строке 44, поменяй:


  //header('HTTP/1.1 404 Not Found');
[/code] на:
[code]
  header('HTTP/1.1 404 Not Found');

Ссылка на сообщение
Поделиться на другие сайты

Просто в /includes/modules/error_hanlder.php внизу, на строке 44, поменяй:

//header('HTTP/1.1 404 Not Found');
на:
header('HTTP/1.1 404 Not Found');

Поменял, но при неправильном url, снова переходит на главную страницу, вместо того, чтобы открыть пустую, может ещё где-нибудь нужно править?

Ссылка на сообщение
Поделиться на другие сайты

Это url для внутренних страниц магазина, т.е. если товар выключен в админке, будет переход на странице - не найден товар и будет показан заголовок 404, это нужно для поисковиков например, что б не плодились страницы в базе поисковика.

А обычная 404 страница через .htaccess задаётся.

Ссылка на сообщение
Поделиться на другие сайты
  • 1 year later...

Поменял, но при неправильном url, снова переходит на главную страницу, вместо того, чтобы открыть пустую, может ещё где-нибудь нужно править?
1. Cоздать информационную страницу с урлом 404.html 2. В .htaccess прописать ErrorDocument 404 /404.html 3. Файл manager.php в корне магазина ищем
          $PHP_SELF = '/index.php';
          include('index.php');[/code] строки 173-174 Заменяем на
[code]          header('Location: 404.html');

It's work

P.S. 3й пункт дает правильную обработку ЧПУ товаров.

Пример: существует товар с урлом abrakadabra.html - при переходе по http://domain.com/abrakadabra.html выводится товар, но при http://domain.com/abraka-ANYTEXT-dabra.html - отображалось содержимое страницы index.php

Ссылка на сообщение
Поделиться на другие сайты

andrew.kryuchkov

Сделал все по вашей инструкции.

При наборе неправильного адреса в виде magazin.ru/123.html, отображается 404.html, как нужно.

А при наборе magazin.ru/123.htm все равно отображается главная страница, а заголовок страницы от 404.html

А при наборе magazin.ru/123.php просто белое окно 404 ошибки с сервера.

Ссылка на сообщение
Поделиться на другие сайты

А при наборе magazin.ru/123.htm все равно отображается главная страница, а заголовок страницы от 404.html

А при наборе magazin.ru/123.php просто белое окно 404 ошибки с сервера.

Да, та же проблема :(

Сейчас колдую над этим, подозреваю что нужно убрать .html из урлов товаров и дописать обработчик для .htm и .php

Ссылка на сообщение
Поделиться на другие сайты

господа а что лучше сделать отдельную страницу под ошибку 404 или все несуществующие выводить на главную ?

просто у меня если набираешь того чего нет, он переадрессует на главную страницу, корректно ли это для поисковика, и насколько это критично ?

Ссылка на сообщение
Поделиться на другие сайты
  • 2 months later...

Лучше конечно под 404 отдельную страницу с нормальным оформлением в стиле сайта, и там уже указать ссылку на главную

Ссылка на сообщение
Поделиться на другие сайты
×
×
  • Создать...