Russian TYPO3 community Форум больше не используется. Присоединяйтесь к каналу #community-ru в Slack for TYPO3 community  

Вернуться   Russian TYPO3 community > Обсуждение общих технических вопросов > Общие вопросы

Ответ
 
Опции темы Опции просмотра
Старый 01.06.2010, 15:21   #1
dmartynenko
Senior Member
 
Аватар для dmartynenko
 
Регистрация: 20.07.2007
Адрес: Беларусь, Минск
Сообщений: 957
Отправить сообщение для dmartynenko с помощью ICQ
Exclamation TYPO3/RealURL возвращают дубли главной страницы для неправильных url вместо 404

Обнаружилась проблема с индексацией в google - дублируется главная страница сайта при указании опредленного неправильного адреса.

А именно если указать после / текст + ":/" или просто ":/", то возвращается обычное содержимое главной страницы.
Причем страницы более глубоких уровней работают правильно - на example.com/page1/http:/ выдается TYPO3-шный ответ/страница 404

Пример:
http://typo3.org/
http://typo3.org/http://
http://typo3.org/dfgjkfg:/

Кто-нибудь предложит TYPO3 варианты решения?

Единственно что пока приходит в голову - через .htaccess

UPDATE:
Быстрое решение - в .htaccess прописал:
RedirectMatch 404 ^/([^/]*?)(:/)(.*)$

В результате на ошибочные URL выдается апачевский ответ 404, на более глубоких уровнях 404 выдает TYPO3

Последний раз редактировалось dmartynenko; 01.06.2010 в 15:40
dmartynenko вне форума   Ответить с цитированием
Старый 02.06.2010, 11:36   #2
3ton
Senior Member
 
Регистрация: 25.12.2009
Сообщений: 106
По умолчанию

попробуй использовать этот параметр в localconf.php

$TYPO3_CONF_VARS['FE']['pageNotFound_handling'] =

он отвечает за эти задачи

как пример

$TYPO3_CONF_VARS["FE"]["pageNotFound_handling"] = 'http://www.example.com/not-found-404.html';
$TYPO3_CONF_VARS["FE"]["pageNotFound_handling_statheader"] = 'HTTP/1.1 404 Not Found';
3ton вне форума   Ответить с цитированием
Старый 02.06.2010, 12:55   #3
dmartynenko
Senior Member
 
Аватар для dmartynenko
 
Регистрация: 20.07.2007
Адрес: Беларусь, Минск
Сообщений: 957
Отправить сообщение для dmartynenko с помощью ICQ
По умолчанию

Эти настройки естесвенно заданы, поэтому везде 404 выдает TYPO3 (о чем я и написал в первом посте).

А вот на корневой странице url с ":/" обрабатываются неправильно. Попробуйте у себя...

Последний раз редактировалось dmartynenko; 02.06.2010 в 13:07
dmartynenko вне форума   Ответить с цитированием
Старый 02.06.2010, 12:56   #4
3ton
Senior Member
 
Регистрация: 25.12.2009
Сообщений: 106
По умолчанию

у меня резултать вполне ожидаемый

http://astroelite.de/:/

или я чтот не так понял?

вывод формы логина в данном случае связан с не законченным определителем причины недоступности страницы, в других вариантах он выводит стартовую страницу

просто у меня необходимость к закрытым областям выводить именно страницу логина
3ton вне форума   Ответить с цитированием
Старый 02.06.2010, 13:32   #5
dmartynenko
Senior Member
 
Аватар для dmartynenko
 
Регистрация: 20.07.2007
Адрес: Беларусь, Минск
Сообщений: 957
Отправить сообщение для dmartynenko с помощью ICQ
По умолчанию

Возможно у вас более новые версии TYPO3 и RealURL, либо обработчик 404 в pageNotFound_handling прописан свой (а не просто url для редиректа), и поэтому все отрабатыват правильно.

Но вот вам реальный пример неправильного поведения:

http://typo3.org/:/
http://typo3.org/http:/

Везде http ответы 200 и одинаковое содержание - главная страница.

А вот так - http://typo3.org/http - ответ 404.
dmartynenko вне форума   Ответить с цитированием
Старый 02.06.2010, 13:35   #6
3ton
Senior Member
 
Регистрация: 25.12.2009
Сообщений: 106
По умолчанию

в моем случае стоит свой обработчик дабы разделить не разрешенные и не существующие страницы

в принципе это можно увидеть и по возвращаемым хедерам
404 и 403
3ton вне форума   Ответить с цитированием
Старый 02.06.2010, 13:38   #7
dmartynenko
Senior Member
 
Аватар для dmartynenko
 
Регистрация: 20.07.2007
Адрес: Беларусь, Минск
Сообщений: 957
Отправить сообщение для dmartynenko с помощью ICQ
По умолчанию

Можете привести ваш пример в качестве решения этой проблемы?

Я думаю для форумчан будет полезно.
dmartynenko вне форума   Ответить с цитированием
Старый 02.06.2010, 14:00   #8
3ton
Senior Member
 
Регистрация: 25.12.2009
Сообщений: 106
По умолчанию

на данный момент это выглядит так

Код:
  $TYPO3_CONF_VARS['FE']['pageNotFound_handling'] = 'USER_FUNCTION:fileadmin/404.php:user_pageNotFound->pageNotFound';
и сам файл 404.php

Код:
  define(LOGIN_URL, "http://astroelite.de/login.html");
  define(NOTFOUND_URL, "http://astroelite.de");
  
  
  class user_pageNotFound {
    function pageNotFound($param, $ref) {
      if (count($param["pageAccessFailureReasons"]["fe_group"])) {
        header("HTTP/1.0 403 Forbidden");
        $GLOBALS['TSFE']->fe_user->setKey('ses', 'redirect', $_SERVER['REQUEST_URI']);
        $GLOBALS['TSFE']->storeSessionData();
        $url = LOGIN_URL;
      } else
        $url = NOTFOUND_URL;
      print file_get_contents($url);
    }
  }
но дабы не вводить всех в заблуждение - вариант не конечный так как в некоторых случаях (в частности в примере с ":/") он не определяет причину и считает что страница запрещена, но решение этому я уверен есть, просто не на все хватает время - проектов много, а клиента пока так устраивает

забыл пояснить

$GLOBALS['TSFE']->fe_user->setKey('ses', 'redirect', $_SERVER['REQUEST_URI']);
$GLOBALS['TSFE']->storeSessionData();

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


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB code is Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Подменю для главной страницы сайта ksevelyar Общие вопросы 11 17.04.2012 13:21


Часовой пояс GMT +4, время: 00:18.


Работает на vBulletin® версия 3.8.1.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot

Хостинг и техническая поддержка: TYPO3 Лаборатория