Не работает своя страница 404

6 года 3 мес. назад - 6 года 3 мес. назад #1590 от aurifer
Попробовал все варианты своей страницы 404 в дизайне своего сайта.

Вариант 1:
Если вы хотите создать свою 404 страницу Ошибки в своем дизайне сайта, в Joomla! 1.5, вам нужно создать файл с именем error.php в /templates/Ваш_Шаблон/ вот с этим кодом.

<? defined( '_JEXEC' ) or die( 'Restricted index access' );
if (($this->error->code) == '404')
{
header("HTTP/1.0 404 Not Found");
header('Location: ' . $this->baseurl . '/404.html');
exit;
}
?>

Предварительно создав свою страницу 404 страницу, которая будет открываться в вашем дизайне сайта.

У меня выдаёт ошибку: Fatal error: Cannot access protected property JException::$code in /home/wm2106/public_html/templates/phoca_color/error.php on line 2

Вариант 2:
http://joomlaforum.ru/index.php/topic,113927.0.html

Та же самая ошибка: Fatal error: Cannot access protected property JException::$code in /home/wm2106/public_html/templates/phoca_color/error.php on line 22

Вариант 3:
открываем ваш_сайт/administrator/templates/system/error.php удаляем все и вставляем этот код:

<?php
defined('JPATH_BASE') or die();
echo file_get_contents(JURI::root().'/index.php?option=com_content&view=article&id=XXX');
?>
где ХХХ это id вашего материала, теперь при ошибке 404 сайт будет показывать созданный вами материал.

Выдаёт ошибку:
Warning: file_get_contents() [function.file-get-contents]: URL file-access is disabled in the server configuration in /home/wm2106/public_html/templates/system/error.php on line 4

Warning: file_get_contents( 28dorog.ru//index.php?option=com_content&view=article&id=72 ) [function.file-get-contents]: failed to open stream: no suitable wrapper could be found in /home/wm2106/public_html/templates/system/error.php on line 4

С этим вариантом вроде понятно-работает безопасность. Но может есть вариант обойти?

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

Пожалуйста Войдите или Зарегистрируйтесь, чтобы присоединиться к беседе.

6 года 3 мес. назад #1602 от VARion
А через настройку хостинга не пробовали настроить?

По поводу страницы 404 в дизайне сайта хорошо сказано здесь: http://www.artlebedev.ru/kovodstvo/sections/93/

Пожалуйста Войдите или Зарегистрируйтесь, чтобы присоединиться к беседе.

6 года 3 мес. назад - 6 года 3 мес. назад #1603 от aurifer
На хостинге у меня "cPanel X". Там в настройках есть защита от прямых ссылок, но она была отключена. В "прямых ссылках" можно только ввести сайты, которым разрешено обращаться напрямую к файлам(там собственно и записан мой сайт и его зеркало). Других настроек там нет.
Ещё можно редактировать их страницу 404. Она мне вообще не нужна.
Ссылку сейчас прочитаю, отпишусь.

Пожалуйста Войдите или Зарегистрируйтесь, чтобы присоединиться к беседе.

6 года 3 мес. назад #1604 от aurifer

VARion пишет: А через настройку хостинга не пробовали настроить?

По поводу страницы 404 в дизайне сайта хорошо сказано здесь: http://www.artlebedev.ru/kovodstvo/sections/93/

Всё что написано по ссылке, я и так знаю. Именно поэтому и задал вопрос на форуме.

Пожалуйста Войдите или Зарегистрируйтесь, чтобы присоединиться к беседе.

6 года 3 мес. назад #1605 от VARion

aurifer пишет: Всё что написано по ссылке, я и так знаю. Именно поэтому и задал вопрос на форуме.

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

aurifer пишет: Необходима страница именно как статья, чтобы можно было переходить по пунктам меню.

В странице, на которую я дал ссылку обрати внимание на параграфы 11-14.

Пожалуйста Войдите или Зарегистрируйтесь, чтобы присоединиться к беседе.

6 года 3 мес. назад - 6 года 3 мес. назад #1606 от aurifer
Действительно. Об этом я не подумал... Тогда вопрос: чем лучше изменить error.php? Может редактор какой визуальный?
И как можно сделать, чтобы на странице ошибки появились ссылки на похожий материал к примеру.

Пожалуйста Войдите или Зарегистрируйтесь, чтобы присоединиться к беседе.

6 года 3 мес. назад #1609 от VARion
Исходя из того, что страница 404 должна быстро загружаться и не содержать обилие информации, можно использовать обычный текстовый редактор, например Notepad2 (синтаксис он подсветит). Для простоты посмотрите структуру такой страницы у другого серьёзного сайта:
http://www.rambler.ru/fig
http://www.google.ru/fig
http://yandex.ru/fig кстати у Яндекса есть похожая секретная страница.
http://www.joomla.org/fig

Ссылку на похожий материал никак нельзя сделать, если конечно движок сайта мысли пользователей читать не умеет... заранее не известно что хотел увидеть пользователь. Но зато можно сделать несколько ссылок на основные разделы сайта.

Пожалуйста Войдите или Зарегистрируйтесь, чтобы присоединиться к беседе.

6 года 3 мес. назад #1610 от bionetinfo

VARion пишет: Ссылку на похожий материал никак нельзя сделать...

Если на сайте установлен Sh404SEF и 404 делать через него, ссылки на похожие материалы можно вывести тегом {sh404sefSimilarUrls}.
Цитата с доки по настройке 404 в sh404sef:

Вы можете использвать следующие теги:
{%sh404SEF_404_URL%} будет заменено ссылкой url, запрошенной пользователем, той, которую компонент не смог найти
{sh404sefSimilarUrls} будет заменено списком ссылок urls, найденных в базе данных, которые похожи на запрошенную, но не найденную. Если похожих не найдено, ничего не будет показано и тег будет удален. Вы можете зайти в список плагинов Joomla! и, с помощью некоторых параметров, изменить то, как работает плагин схожих ссылок url компонента 'sh404sef' работает
{sh404sefSimilarUrlsCommentStart} и {sh404sefSimilarUrlsCommentEnd} все, что Вы поместите между этими двумя тегами будет показано только когда будут найдены какие-либо схожие ссылки url

Пожалуйста Войдите или Зарегистрируйтесь, чтобы присоединиться к беседе.

6 года 3 мес. назад - 6 года 3 мес. назад #1611 от VARion
"Похожие" ссылки это хорошо, только это гадание на кофейной гуще.
Например, пользователь запросил: domen.ru/doc/ - это у него 2 года в закладках лежало.
Теперь страница с аналогичной информацией здесь: domen.ru/ru/specification/doc/ - сайт вырос и стал многоязычным.
В этом примере вряд ли возможно найти правильную ссылку, особенно если страниц на сайте много. Вместо этого лучше обдуманно проводить переделки сайта, чтобы были нужные перенаправления.

Использовать функционал "похожих" ссылок только для опечаток на одну-две буквы, есть ли смысл?

По компоненту Sh404SEF, вообще большой вопрос о целесообразности использования: возникающие косяки наверняка перекроют его преимущества.

Дополню: посмотрел как Яндекс отреагирует на опечатку в одну лишнюю букву - он не стал угадывать то, что я искал: http://mapss.yandex.ru/

Пожалуйста Войдите или Зарегистрируйтесь, чтобы присоединиться к беседе.

6 года 3 мес. назад #1612 от aurifer
От компонента sh404sef я уже отказался, слишком много проблем с ним...
Я поэтому и спросил про ссылки, потому что там как раз эта функция хорошо реализована. К примеру, если ошибся в каком-то материале, то он выводит статьи из той же категории. По-моему очень удобно.
Может есть смысл сделать ссылку на карту сайта? Ведь нужна такая страница, чтобы посетитель не ушёл с сайта.

Пожалуйста Войдите или Зарегистрируйтесь, чтобы присоединиться к беседе.

6 года 3 мес. назад - 6 года 3 мес. назад #1615 от VARion

Я поэтому и спросил про ссылки, потому что там как раз эта функция хорошо реализована. К примеру, если ошибся в каком-то материале, то он выводит статьи из той же категории. По-моему очень удобно.

Если в категории 50 статей, он что их все будет выводить? Если я в категории "животные" хотел про кошек почитать, мне что должно быть интересно про собак читать? В общем, сомнительное удобство, если на сайте много материалов, а если немного то можно и ссылками на разделы обойтись на 404 странице.

Ссылку на карту сайта сделать логично. Можно и поиск сделать, но не стоит туда всё подряд сваливать.

Пожалуйста Войдите или Зарегистрируйтесь, чтобы присоединиться к беседе.

6 года 3 мес. назад #1618 от bionetinfo

"Похожие" ссылки это хорошо, только это гадание на кофейной гуще.

Если я правильно понял, выше речь шла о невозможности данного решения на 404 стр. вообще. Я дал инфу как это сделать довольно неплохо на sh404sef. Использовать или нет sh404sef - дело сугубо индивидуальное, про косяки последних версий которого можно еще поспорить.

Пожалуйста Войдите или Зарегистрируйтесь, чтобы присоединиться к беседе.

6 года 3 мес. назад #1621 от VARion

Если я правильно понял, выше речь шла о невозможности данного решения на 404 стр. вообще.

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

Я дал инфу как это сделать довольно неплохо на sh404sef. Использовать или нет sh404sef - дело сугубо индивидуальное, про косяки последних версий которого можно еще поспорить.

Всё верно. Каждый сам оценивает ситуацию - сам принимает решения.

Пожалуйста Войдите или Зарегистрируйтесь, чтобы присоединиться к беседе.

6 года 5 дн. назад #2481 от aurifer
Всем спасибо, кто ответил в теме. Особенно "VARion". По вашему совету не стал делать страницу в шаблоне сайта. Но с одной оговоркой. Я сделал страницу 404 в стиле всего сайта. Для изменения css страницы ошибки в joomla 1.7 необходимо править файл "error.css" по адресу /templates/system/css . В этом файле я изменил фон, цвет и форму рамки, шрифт и т.д. В общем сделал похожим на сайт. Затем изменил сами фразы на странице ошибок, хотя они остались почти такими же. Для этого надо править языковые файлы "ru-RU.ini" и "ru-RU.com_content.ini" по адресу /language/ru-RU. Здесь можно писать какой угодно перевод. Или же добавить свои языковые переменные, но потом нужно вписать их в сам шаблон страницы 404: "error.php" по адресу templates/system.
Я к примеру изменил фразу "домашняя страница" на "карта сайта", и после в шаблоне изменил ссылку с "домашней" на "карту сайта". Вот вроде и всё. Посмотреть можно здесь .
Единственное, что не получилось сделать, это увеличить шрифт надписи "карта сайта". Хотел сделать отдельный класс в css, но так и не вышло. Буду признателен за помощь.
P.S.: Извините, что написал только сейчас. Пришлось 404 страничку отложить на потом. Сделал только сейчас.

Пожалуйста Войдите или Зарегистрируйтесь, чтобы присоединиться к беседе.

6 года 3 дн. назад #2498 от VARion
По странице понятно, что это именно страница ошибки.
Только, на мой взгляд, белый цвет на голубом плохо читается.

Единственное, что не получилось сделать, это увеличить шрифт надписи "карта сайта".

Самое удобное это в файле error.php узлу ul, в котором выводится карта сайта добавить ему какой-нибудь уникальный id, например "otherlinks"
и добавить в error.css код:
#otherlinks a {font-size: 18px;} /*или font-size: 110%; */

Пожалуйста Войдите или Зарегистрируйтесь, чтобы присоединиться к беседе.

6 года 3 дн. назад #2500 от aurifer
Я почти так и делал... Сейчас попробовал в точности как вы сказали. Но у меня увеличился размер "карта сайта"(языковая переменная:'JERROR_LAYOUT_HOME_PAGE') Вот кусок кода:

<p><strong><?php echo JText::_('JERROR_LAYOUT_PLEASE_TRY_ONE_OF_THE_FOLLOWING_PAGES'); ?></strong></p>
<div id="otherlinks">
<ul>
<li><a href="<?php echo $this->baseurl; ?> 28dorog.ru/sitemap.html " title="<?php echo JText::_('JERROR_LAYOUT_GO_TO_THE_HOME_PAGE'); ?>"><?php echo JText::_('JERROR_LAYOUT_HOME_PAGE'); ?></a></li>
</ul>

<p><?php echo JText::_('JERROR_LAYOUT_PLEASE_CONTACT_THE_SYSTEM_ADMINISTRATOR'); ?>.</p>

Пожалуйста Войдите или Зарегистрируйтесь, чтобы присоединиться к беседе.

5 года 11 мес. назад #2530 от VARion

Но у меня увеличился размер "карта сайта"

Так его же и нужно было увеличить, как я понял.

Стиль "#otherlinks a" нужно переделать в "#otherlinks a strong"

А вообще, не заработало из-за конструкции
* {}

Пожалуйста Войдите или Зарегистрируйтесь, чтобы присоединиться к беседе.

5 года 11 мес. назад #2539 от aurifer
Извините, опечатался. Увеличился размер "напишите админу". А "карта сайта" осталась такой же.
Т.е. стиль не подействовал на языковую переменную:'JERROR_LAYOUT_HOME_PAGE'

Пожалуйста Войдите или Зарегистрируйтесь, чтобы присоединиться к беседе.

5 года 11 мес. назад - 5 года 11 мес. назад #2540 от aurifer
Я переделал стиль,как вы сказали выше. И заработало. Объясните дураку, что даёт добавление "a strong"
А по поводу
* {}
я вас не понял.

Пожалуйста Войдите или Зарегистрируйтесь, чтобы присоединиться к беседе.

5 года 11 мес. назад #2542 от VARion

я вас не понял.

В начале error.css есть следующая конструкция:
* {
    color: #FFFFFF;
    font-family: helvetica,arial,sans-serif;
    font-size: 15px;
}
В ней прописан размер шрифта в 3-й строке. Звёздочка (*) означает что данный стиль применяется ко всем элементам.
Поскольку элемент а ссылки Карта сайта имел вложенный strong-элемент, то правило #otherlinks a переопределялось, тем что объявлено на все элементы, т.е. размер шрифта 15px.
Когда мы написали #otherlinks a strong мы показали, что это правило точно для этого узла (strong).

Чтобы это нагляднее понять, установите Firebug на Firefox и исследуйте, какие стили в каком порядке унаследовались на вашем собственном примере.

Пожалуйста Войдите или Зарегистрируйтесь, чтобы присоединиться к беседе.

5 года 11 мес. назад #2545 от aurifer
Спасибо огромное. За помощь и советы. Тему считать закрытой.

Пожалуйста Войдите или Зарегистрируйтесь, чтобы присоединиться к беседе.


Вверх