0 Пользователей и 1 Гость просматривают эту тему.
- 18 Ответов
- 7274 Просмотров
Собственно вопрос в подписи.
Создал страницу 404 как советовали здесь (не помню уже какая тема), файл error.php отправил в папку с шаблоном, прописал в этом файле следующее:
<?php
/**
* @package Joomla.Site
* @subpackage Template.system
*
* @copyright Copyright (C) 2005 - 2015 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/defined('_JEXEC') or die;
if (!isset($this->error))
{
$this->error = JError::raiseWarning(404, JText::_('JERROR_ALERTNOAUTHOR'));
$this->debug = false;
}
// Get language and direction
$doc = JFactory::getDocument();
$app = JFactory::getApplication();
$this->language = $doc->language;
$this->direction = $doc->direction;
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php echo $this->language; ?>" lang="<?php echo $this->language; ?>" dir="<?php echo $this->direction; ?>">
<head>
</head>
<body>
<?php
if ($this->_error->get('code') == '404') {
header("HTTP/1.0 404 Not Found");
header('Location: index.php?option=com_content&view=article&id=5');
exit;}
?>
</body>
</html>
создал даже менюшку с адресом 404 только не показывал модулем.
но всё равно не получается!
Как не старался — всё равно редирект на главную(((,
Выручайте.
Ах да, Joomla! 3.4.1. шаблон Socialise 2 с T3 Framework
неужели ни у кого нет никаких мыслей по этому поводу?
<?php
if ($this->_error->get('code') == '404') {
header("HTTP/1.0 404 Not Found");
header('Location: index.php?option=com_content&view=article&id=5');
exit;}
?>
Это условие вообще срабатывет?
<?php
if ($this->_error->get('code') == '404') {
header("HTTP/1.0 404 Not Found");
header('Location: index.php?option=com_content&view=article&id=5');
exit;}
?>Это условие вообще срабатывет?
В том то и дело что нет.
Может у меня в .htacess что-то не то. Но я менял на стандартный джумловский — та же фигня. Где ещё копать — ума не приложу.
Может вы на мой .htaccess глянете?
То есть у Вы вообще никак не можете добиться 404 ошибки? Временно уберите .htaccess, тоже не работает?
То есть у Вы вообще никак не можете добиться 404 ошибки? Временно уберите .htaccess, тоже не работает?
да. теперь выдаёт вот это: Not Found
The requested URL /garik was not found on this server.
и в названии появляется 404 Not Found
Меня смущает вот эта строка: RewriteRule ^(.*)$ index.php [R=404,L]
Что это за правило?
Не силен в htaccess правилах. Попробуйте убрать, хуже не будет.
Не силен в htaccess правилах. Попробуйте убрать, хуже не будет.
пробовал — не помогает
> if ($this->_error->get(‘code’) == ‘404’) {
добавьте echo $this->_error->get(‘code’). Может, просто не совпадает код (например, у вас там появляется «404 not found»).
настройки хостинга смотрели? Какие есть сторонние плагины?
Получилось найти решение проблемы?
Нашел решение, оказывается такое поведение страницы 404 характерно, если в общих настройках системы включена опция «Сайт выключен (offline)», т.е. с данным глюком можно столкнуться только в тестовом режиме работы системы
Нашел решение, оказывается такое поведение страницы 404 характерно, если в общих настройках системы включена опция «Сайт выключен (offline)», т.е. с данным глюком можно столкнуться только в тестовом режиме работы системы
Припоминаю, как-то сталкивался.
В 3.6.5 проблема актуальна?
да, как-раз тут и столкнулся)
У меня без отключения сайта редиректит вместо 404 на домашнюю…(( На одном и том же хостинге несколько сайтов, в одинаковом шаблоне error.php идентичен. Но вот на этом нет 404 и все тут! Кстати, единственное отличие — стоит компонент ОС Проперти на нем. Ну это у меня наверное уже конспирология. Кто то разобрался, почему редиректит вместо 404 на главную в Joomla 3?
T
Еще уточню, что не просто редиректит на главную, а как бы на ее содержимое. То есть ссылка — site.com/blalass — такой же и остается, только открывается главная страница со всем содержимым на ней. Что за глюк или взлом, кто знает?
« Последнее редактирование: 10.02.2017, 16:43:09 от igorsuccess »
Записан
это то о чемвы подумали — права разработчиков,
мало того что нужно найти место где они оставили свои коды, их нужно изменить
тут безтерпения, и навыков ни как.
забейте…меньше 404 страниц
Припоминаю, как-то сталкивался.
В 3.6.5 проблема актуальна?
Да актуальна на двух последних сайтах всплыла. Причём за последнюю неделю. На одном ngnix на другом apache. Хосты разные. Так что чистый баг, хоть и не критичный, причину не копал. Но обнаружил вот только недавно.
P.S. редиректы кешируются. Так что если включили сайт а 404 все ещё не отдаёт, то сначала стоит сбросить кеш а потом паниковать.
Записан
Не можете справиться с задачей сами пишите, решу ее за вас, не бесплатно*.
*Интересная задача, Деньги или Бартер. Натурой не беру!
CodersRank | Контакты | Мой GitHub | Workshop
Та же проблема, как решается так и не понял…
.htaccess не трогал, родной
включены SEF и перенаправление.
чтобы ни вбил ошибочно — перенаправление на главную (с сохранением ошибочного урл), как сделать на свою страницу ошибки как раньше? Раньше делал через error.php в шаблоне
UPD нашел, стоял VirtueMart (обработка 404 не включена), но главная была категории VirtueMart. надо сделать обычный материал
« Последнее редактирование: 20.05.2017, 11:06:33 от ShutTap »
Записан
The quick and easy way to redirect any 404 page to your main homepage in Joomla.
- Inside your Joomla web directory, copy the error.php file from templates/system to root of your template directory (not your Joomla directory).
- Add the following detection code right below the statement defined( ‘_JEXEC’ ) or die( ‘Restricted access’ );
if (($this->error->getCode()) == '404') { header('Location: /index.php'); exit; }
If you are using SEO URL’s, you can simply remove index.php leaving only the / in place.
- Try to browse your website with a link you know does not exist. It should instantly redirect your homepage now!
This is best practice for a website that does not have much content (static) or will never receive much content in the future.
* Please use the comment form below. Comments are moderated.*
I’m having issues getting the proper 404 page (templates/MY_TEMPLATE/error.php) to work.
I’ve spent hours reading through and trying every example or fix listed on Stack Exchange and other sites with no luck.
Such threads as:
return 404 header with 404 page and 404 HTTP codes in Joomla
I’m using the default .htaccess supplied with Joomla found here https://github.com/joomla/joomla-cms/blob/staging/htaccess.txt and in my global configuration I have url rewriting and search engine friendly urls enabled.
I’ve tried with url rewriting off, search engine friendly urls off, redirect plugin disabled, renaming .htaccess to htaccess.txt, setting header and exit in error.php (although, I don’t think error.php is even being loaded since everything redirects immediately to the homepage).
I admittedly know little about .htaccess, but I have tried commenting some of the rewrite rules out and this one in particular
RewriteRule .* index.php [L]
is properly redirecting all real 404s to the error page, but index.php is present in all of my urls which is not desirable.
If anyone could offer any insight I would be most appreciative, thank you.
Добрый день! Есть такая проблемка: при обращении к несуществующей странице, происходит редирект на главную страницу. Причём, я открываю консоль Mozilla Firefox и смотрю что передаётся в заголовках (какие коды и т.п.), так вот в заголовках я не вижу ни 404
кода ни 301
, хотя в консоли стоит флажок «Не очищать» (т.е. по идеи он мне все логи должен сохранить). Смотрел файл .htaccess
ничего подозрительного не нашёл:
##
# @package Joomla
# @copyright Copyright (C) 2005 - 2012 Open Source Matters. All rights reserved.
# @license GNU General Public License version 2 or later; see LICENSE.txt
##
##
# READ THIS COMPLETELY IF YOU CHOOSE TO USE THIS FILE!
#
# The line just below this section: 'Options +FollowSymLinks' may cause problems
# with some server configurations. It is required for use of mod_rewrite, but may already
# be set by your server administrator in a way that dissallows changing it in
# your .htaccess file. If using it causes your server to error out, comment it out (add # to
# beginning of line), reload your site in your browser and test your sef url's. If they work,
# it has been set by your server administrator and you do not need it set here.
##
## Can be commented out if causes errors, see notes above.
#Options +FollowSymLinks
## Mod_rewrite in use.
RewriteEngine On
## Begin - Rewrite rules to block out some common exploits.
# If you experience problems on your site block out the operations listed below
# This attempts to block the most common type of exploit `attempts` to Joomla!
#
# Block out any script trying to base64_encode data within the URL.
RewriteCond %{QUERY_STRING} base64_encode[^(]*\([^)]*\) [OR]
# Block out any script that includes a <script> tag in URL.
RewriteCond %{QUERY_STRING} (<|%3C)([^s]*s)+cript.*(>|%3E) [NC,OR]
# Block out any script trying to set a PHP GLOBALS variable via URL.
RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
# Block out any script trying to modify a _REQUEST variable via URL.
RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})
# Return 403 Forbidden header and show the content of the root homepage
RewriteRule .* index.php [F]
#
## End - Rewrite rules to block out some common exploits.
## Begin - Custom redirects
#
# If you need to redirect some pages, or set a canonical non-www to
# www redirect (or vice versa), place that code here. Ensure those
# redirects use the correct RewriteRule syntax and the [R=301,L] flags.
#
## End - Custom redirects
##
# Uncomment following line if your webserver's URL
# is not directly related to physical file paths.
# Update Your Joomla! Directory (just / for root).
##
RewriteBase /
## Begin - Joomla! core SEF Section.
#
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
#
# If the requested path and file is not /index.php and the request
# has not already been internally rewritten to the index.php script
RewriteCond %{REQUEST_URI} !^/index\.php
# and the request is for something within the component folder,
# or for the site root, or for an extensionless URL, or the
# requested URL ends with one of the listed extensions
RewriteCond %{REQUEST_URI} /component/|(/[^.]*|\.(php|html?|feed|pdf|vcf|raw))$ [NC]
# and the requested path and file doesn't directly match a physical file
RewriteCond %{REQUEST_FILENAME} !-f
# and the requested path and file doesn't directly match a physical folder
RewriteCond %{REQUEST_FILENAME} !-d
# internally rewrite the request to the index.php script
RewriteRule .* index.php [L]
#
## End - Joomla! core SEF Section.
#redirect /osteklenie-balk/product/view/6/8.html http://www.stella-drev.ru/kontakty.html
RedirectMatch ^([0-9a-zA-Z\/\-\_]*)product/view/([0-9]+)/([0-9]+)\.html$ http://www.stella-drev.ru/404.html
#redirect ^([0-9a-z-_/]*)/product/view/([0-9]+)/([0-9]+)\.html$ http://www.stella-drev.ru/kontakty.html [R=permanent]
Попытался сделать вот так http://qdev.ru/custom-error-page-in-joomla17 , тоже ничего. Файл error.php
существует в папке с шаблоном, но там прописано следующее:
defined('JPATH_BASE') or die();
echo file_get_contents(JURI::root().'/index.php?option=com_content&view=article&id=115');
На сайте есть нормальная страница 404
, доступна по адресу www.доменное_имя.ru/404 (создана как материалсайта), в какой момент 404 перестал работать — непонятно. Куда копать не пойму. Смотрел файл шаблона там тоже ничего. Сайт под управлением joomla 2.5.4, mod_rewrite
включен, пере адресация включена. Заранее спасибо! С уважением.
19:09:2012 — новые повороты в деле о 404
ошибке.
По запросу в службу поддержки хостинга — выяснилось что, 404
ошибку как-то ломает вот этот код в .htaccess
:
## Begin - Joomla! core SEF Section.
#
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
#
# If the requested path and file is not /index.php and the request
# has not already been internally rewritten to the index.php script
RewriteCond %{REQUEST_URI} !^/index\.php
# and the request is for something within the component folder,
# or for the site root, or for an extensionless URL, or the
# requested URL ends with one of the listed extensions
RewriteCond %{REQUEST_URI} /component/|(/[^.]*|\.(php|html?|feed|pdf|vcf|raw))$ [NC]
# and the requested path and file doesn't directly match a physical file
RewriteCond %{REQUEST_FILENAME} !-f
# and the requested path and file doesn't directly match a physical folder
RewriteCond %{REQUEST_FILENAME} !-d
# internally rewrite the request to the index.php script
RewriteRule .* index.php [L]
#
## End - Joomla! core SEF Section.
Как ни странно, код этот сформирован joomla и во всех остальных случаях работает нормально. У кого есть мысли пишите.
- Статус темы:
-
Закрыта.
Страница 1 из 2
-
Андрей
Cкладчик- Регистрация:
- 15 окт 2014
- Сообщения:
- 29
- Симпатии:
- 6
Доброго!
При настройке Joomla 3 где-то поставил переадресацию на главную страницу при несуществующей ссылке (где-то в стандартных настройках). Сейчас надо убрать эту опцию, а найти я ее не могу.
В компоненте «Перенаправление» порылся уже. Компонент «Перенаправление» не работает (добавляешь ссылку — результат 0), с любой неработающей ссылки сразу выкидывает на главную (как при выключенном, так и включённом компоненте перенаправления), причем в .htaccess ничего не прописано.
Может кто-нибудь подскажет направление поисков. Буду очень благодарен.
-
israsky
Матерый складчик- Регистрация:
- 9 окт 2014
- Сообщения:
- 186
- Симпатии:
- 25
Есть какие либо Sef или Seo компоненты?
-
Андрей
Cкладчик- Регистрация:
- 15 окт 2014
- Сообщения:
- 29
- Симпатии:
- 6
Есть — iSEO Pro, но накатил я его позже. Может что-то еще влияет? Честно, замучился =) скриншот компонентов ниже:
-
Coresolo
Модератор- Регистрация:
- 10 окт 2014
- Сообщения:
- 112
- Симпатии:
- 74
Может у самого хостера в Cpanel, была переадресация сделана? У меня такое было, долго не мог найти причину…
-
alwhite
Матерый складчик- Регистрация:
- 9 окт 2014
- Сообщения:
- 237
- Симпатии:
- 31
Предположу: Плагины -> Системные -> «Система — Перенаправление» — выключи плагин…
т.к. у меня стоит RSSEO и я специально в нем включал эту функцию… то посмотри в твоем iSEO куда пересылает по 404 ошибке
Андрей и modern.po нравится это.
-
Андрей
Cкладчик- Регистрация:
- 15 окт 2014
- Сообщения:
- 29
- Симпатии:
- 6
Благодарю за идеи!
Плагин выключил — эффект перенаправления сохранился((
iSEO Pro занимается всем чем угодно, но только не 404 =)
У хостера, кста, Cpanel, сейчас с этой стороны посмотрю на данную ситуацию.
modern.po и Coresolo нравится это.
-
israsky
Матерый складчик- Регистрация:
- 9 окт 2014
- Сообщения:
- 186
- Симпатии:
- 25
Я думаю что всеже нужно проверить.
1. Само iSeo
2. Компонент Перенаправление
3. Cpanel
4. файл .htaccess
5. Также просмотреть системные плагины. Возможно что ставился (или недоставился) какой-либо компонент (возможно он не виден в меню сейчас) или плагин.
Андрей и modern.po нравится это.
-
Андрей
Cкладчик- Регистрация:
- 15 окт 2014
- Сообщения:
- 29
- Симпатии:
- 6
Благодарю всех за идеи!
Слона-то, как оказывается, я и не заметил. По умолчанию в joomla 2,5-3 написано:
цитата из .htaccess:
# and the requested path and file doesn’t directly match a physical file
RewriteCond %{REQUEST_FILENAME} !-f
# and the requested path and file doesn’t directly match a physical folder
RewriteCond %{REQUEST_FILENAME} !-d
# internally rewrite the request to the index.php script
RewriteRule .* index.php [L]а теперь перевод:
# в случае отсутствия запрошенного файла
RewriteCond% {REQUEST_FILENAME}! -f
# в случае отсутствия запрошенной директории
RewriteCond% {REQUEST_FILENAME}! -d
# выполнить перенаправление на index.php (главную страницу сайта)
RewriteRule .* index.php [L]А, вот как здесь заменить index.php на другую страницу? Если просто вставить другую ссылку, то все кроме главной страницы перестает работать.
-
fontomas
Опытный складчик- Регистрация:
- 9 окт 2014
- Сообщения:
- 59
- Симпатии:
- 44
Ну не знаю… Вы похоже не того слона заметили. Данные строки, как вы уже сами сказали, присутствуют по умолчанию и, по умолчанию-же, при несуществующей ссылке joomla успешно перекидывает на 404-ю страницу.
А вообще, мой совет, попробуйте поставить какой-нибудь SEF компонент. Он вам не только для этого, но и для многого другого пригодится. Я рекомендую sh404sef. -
Андрей
Cкладчик- Регистрация:
- 15 окт 2014
- Сообщения:
- 29
- Симпатии:
- 6
Я бы с удовольствием, один раз устанавливал, потом откатил сайт, и второй раз установить не могу, пишет — sh404SEF requires the shLib system plugin to be enabled, but you appear to have disabled it. Please enable it again!
Я уж и вручную вычищал этот компонент, даже откатывал сайт назад (akeeba backup старые каталоги кидает в новые и все, т.е. не воспроизводит первичную систему каталогов) — ничего не помогло — sh404sef выдает ошибку.
-
modern.po
Админ
Команда форума- Регистрация:
- 25 авг 2014
- Сообщения:
- 842
- Симпатии:
- 497
Сам когда-то столкнулся с данной проблемой … надо их плагин поставить или на первое или на последнее место в общем списке плагинов (точно не помню)
-
fontomas
Опытный складчик- Регистрация:
- 9 окт 2014
- Сообщения:
- 59
- Симпатии:
- 44
Ошибка свидетельствует о том, что «системный плагин sh404 выключен». Может действительно так? Попробуйте найти в плагинах всё что касается sh404 (по фильтру в плагинах отфильтруйте по этому запросу) и посмотрите состояние.
-
Андрей
Cкладчик- Регистрация:
- 15 окт 2014
- Сообщения:
- 29
- Симпатии:
- 6
А какой именно плагин подвигать? Может вспомните…Может у кого-то есть отдельно плагин shlib? Он у меня не установлен, а на joomlt где 404 нормально встал, данный плагин есть.
Или как-то можно «выковырять» данный плагин из другого сайта на joomla? -
modern.po
Админ
Команда форума- Регистрация:
- 25 авг 2014
- Сообщения:
- 842
- Симпатии:
- 497
системный плагин sh404 — System plugin sh404
shlib — в БД прописан, я когда хотел удалить shlib вручную — он никак не удалялся. Только чистка БД помогла -
Андрей
Cкладчик- Регистрация:
- 15 окт 2014
- Сообщения:
- 29
- Симпатии:
- 6
Я его погонял среди системных плагинов вверх и вниз)) — не помогло((
У меня вот этого плагина нет, если его отключить, то всплывает ошибка компонента 404
Может кто подскажет как его «накатить»? -
fontomas
Опытный складчик- Регистрация:
- 9 окт 2014
- Сообщения:
- 59
- Симпатии:
- 44
Вот что на вскидку нарыл, по симптомам вроде похоже — http://joomlaforum.ru/index.php?topic=253199.0
Там 2 последних сообщения темы, где вроде людям удалось решить проблему с установкой sh404.А так, ИМХО, все эти косяки не причина, а следствие чего-то более глобального. Как вариант, я бы задумался о переносе контента на новый движок. Т.е. всё аккуратно собрал-бы заново на локалке на чистой Джумле, погонял и уже потом выложил в сеть. Геммор конечно с одной стороны, но с другой, когда косяков уже прилично и не знаешь чего ещё может вылезти, если не сделать кардинального лечения, потом может себе дороже выйти.
Андрей и modern.po нравится это.
-
alwhite
Матерый складчик- Регистрация:
- 9 окт 2014
- Сообщения:
- 237
- Симпатии:
- 31
судя по http://www.nulled.cc/threads/237660/page-2 прикол может быть даже в самом компоненте, который является главной страницей или который располагается на главной…
иногда бывает обработка в самом шаблоне — выберите другой шаблон (желательно от другого производителя, чтобы наверняка) и проверить переадресацию -
Андрей
Cкладчик- Регистрация:
- 15 окт 2014
- Сообщения:
- 29
- Симпатии:
- 6
Благодарю всех за неравнодушие и комментарии)
Решил радикально подойти к вопросу, снес все с хостинга под «0», взял архив Акеба до первой инсталляции 404 и залил на белый лист, компонент встал как влитой))) без единой ошибки.
Пока его не настраивал, но думаю, что можно вместо главной перенаправить на 404 созданную в этом компоненте. -
Андрей
Cкладчик- Регистрация:
- 15 окт 2014
- Сообщения:
- 29
- Симпатии:
- 6
sh404 убивает вывод модулей на главной странице и ссылки одного компонента… это нормально? манипуляции с настройками ничего не дали(( может что-то там «волшебное» надо сделать, чего я не знаю?
Надо отдать должное, что перенаправление на главную страницу исчезло, но данный компонент сайт превратил в «кашу» =)
-
fontomas
Опытный складчик- Регистрация:
- 9 окт 2014
- Сообщения:
- 59
- Симпатии:
- 44
Это не нормально конечно-же. Мне сложно сейчас говорить о чём-то не видя сайта. У меня sh404 работает практически на всех проектах, без происшествий. По настройкам можно подробно почитать joomlaforum.ru или ещё где-нибудь в сети. Если что (бывает такое), т.е. уж очень не хочет дружить с каким-либо компонентом, в настройках можно отключить генерацию ссылок для него средствами sh404. По исчезающим модулям, проверить ещё раз настройки привязки к пунктам меню и пр., в особо «тяжёлых» случаях использовать Nonumber Advanced Modules Manager, как вариант.
Словом, не видя сайта, не зная что за компоненты глючат более толкового ничего не смогу сказать видимо.
Страница 1 из 2
- Статус темы:
-
Закрыта.