![]() |
Форум больше не используется. Присоединяйтесь к каналу #community-ru в Slack for TYPO3 community |
|
|||||||
![]() |
|
|
Опции темы | Опции просмотра |
|
|
|
|
#1 |
|
Senior Member
Регистрация: 25.12.2009
Сообщений: 106
|
у меня резултать вполне ожидаемый
http://astroelite.de/:/ или я чтот не так понял? вывод формы логина в данном случае связан с не законченным определителем причины недоступности страницы, в других вариантах он выводит стартовую страницу просто у меня необходимость к закрытым областям выводить именно страницу логина |
|
|
|
|
|
#2 |
|
Senior Member
|
Возможно у вас более новые версии TYPO3 и RealURL, либо обработчик 404 в pageNotFound_handling прописан свой (а не просто url для редиректа), и поэтому все отрабатыват правильно.
Но вот вам реальный пример неправильного поведения: http://typo3.org/:/ http://typo3.org/http:/ Везде http ответы 200 и одинаковое содержание - главная страница. А вот так - http://typo3.org/http - ответ 404. |
|
|
|
|
|
#3 |
|
Senior Member
Регистрация: 25.12.2009
Сообщений: 106
|
в моем случае стоит свой обработчик дабы разделить не разрешенные и не существующие страницы
в принципе это можно увидеть и по возвращаемым хедерам 404 и 403 |
|
|
|
|
|
#4 |
|
Senior Member
|
Можете привести ваш пример в качестве решения этой проблемы?
![]() Я думаю для форумчан будет полезно. |
|
|
|
|
|
#5 |
|
Senior Member
Регистрация: 25.12.2009
Сообщений: 106
|
на данный момент это выглядит так
Код:
$TYPO3_CONF_VARS['FE']['pageNotFound_handling'] = 'USER_FUNCTION:fileadmin/404.php:user_pageNotFound->pageNotFound'; Код:
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 с центрального сервера, так что для вашего случая всего придется переделывать стандартный логин |
|
|
|
![]() |
|
|
Похожие темы
|
||||
| Тема | Автор | Раздел | Ответов | Последнее сообщение |
| Подменю для главной страницы сайта | ksevelyar | Общие вопросы | 11 | 17.04.2012 13:21 |