[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Циклическая переадресация
Denn198
Доброго времени суток. Случайно удалил все таблицы в phpmyadmin, получилось залить их заново, но теперь при входе на сайт или админку пишет, что "На этой странице обнаружена циклическая переадресация". Я новичек и не уверен что все правильно сделал, подскажите в какую сторону хоть смотреть?
sergeiss
Цитата (Denn198 @ 4.01.2015 - 15:47)
что "На этой странице обнаружена циклическая переадресация"

Скорее всего, там где-то ошибка, и происходит попытка выполнения
header( 'Location: ....'); // вместо многоточия какой-то адрес

При этом получается так, что постоянно идет эта переадресация. И в итоге сервер тормозит скрипт и выдает такое сообщение.
Причиной может быть, например, некорректная авторизация. Либо таблицы залили не те... Вариантов можно много накидать :) Но более точно сложно сказать, не видя кода.

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
GET
Denn198

На локалхосте или боевом сервере?

Если на боевом, то недавно на VPS сталкивался с таким при запросе через https к phpmyadmin вылетала циклическая переадресация.


Сделал так:
В /etc/nginx/nginx.conf нашел server{} для основного домена:

server {
server_name mysite.com www.mysite.com;
listen 155.15.55.155;
...
...

Внутри него нашел:

location ~* ^/(webstat|awstats|webmail|myadmin|pgadmin)/ {

и там первой строчкой вставил:

rewrite ^ https://mysite.com$request_uri? permanent;


Почитал про это тут:

http://firstwiki.ru/index.php/%D0%9F%D0%B5...he_%D0%B8_Nginx

_____________
Не тот велик, кто не падал, а тот кто падал и поднимался.
inpost
Denn198
Включи вывод ошибок и проанализируй код. Скорее всего ранее в БД содержались определённые значения без которых идёт переадресация на другую страницу. У меня так было на страницу 404. Но при этом информация об 404 странице так же должна быть в БД. Если её очистить, то будет бесконечная переадресация, так как в случае отсутствия страницы (404), будет переадресация на 404.

Тут одно из двух, либо нечто подобное у тебя, то есть не все данные существуют в MySQL необходимые для работы движка.
Либо ты что-то не договариваешь и до удаления таблиц сайт так же не работал. В таком случае проблему надо искать в скриптах и их править

_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
Denn198
Цитата
Включи вывод ошибок и проанализируй код.

Как это сделать? Сайт до этого исправно работал. Я тоже думаю что там чего то не достает.
Denn198
Цитата
Но более точно сложно сказать, не видя кода.

sergeiss, какой именно код нужно увидеть, чтобы понять проблему?
GET
Denn198

Это у тебя дома или на хостинге проблема?

_____________
Не тот велик, кто не падал, а тот кто падал и поднимался.
GET
Цитата
sergeiss, какой именно код нужно увидеть, чтобы понять проблему?


Цитата
header( 'Location: ....'); // вместо многоточия какой-то адрес


Речь идет о таком, вот к примеру у тебя скрипт index.php а нем самом или в подключаемом файле выполняется строка кода
header( 'Location: http://mysite.com/index.php');

т.е. крутится по кругу - циклическая переадресация.

Еще это может быть связано с переадресацией на уровне сервера apache или nginx вот например тема обсуждалась: http://forum.ispsystem.com/ru/showthread.php?t=19240

или в ispmanager 4 был такой баг, связанный c https, как я выше писал, вот что мне служба поддержки на него ответила:
Цитата
4 панель прописывала в одном server два порта 80 и 443. Так вот нужно этот один server разделить на два - для 80 и для 443. Тогда циклической переадресации не будет.


Надо сначала выявить на каком уровне идет переадресация.

_____________
Не тот велик, кто не падал, а тот кто падал и поднимался.
Denn198
Это на хостинге. В файле index.php, location я не нашел, вот все что там есть:

<div id="primary" class="content-area">
<div id="content" class="site-content" role="main">
<?php if ( have_posts() ) : ?>

<?php /* The loop */ ?>
<?php while ( have_posts() ) : the_post(); ?>
<?php get_template_part( 'content', get_post_format() ); ?>
<?php endwhile; ?>

<?php twentythirteen_paging_nav(); ?>

<?php else : ?>
<?php get_template_part( 'content', 'none' ); ?>
<?php endif; ?>

</div><!-- #content -->
</div><!-- #primary -->

<?php get_sidebar(); ?>
<?php get_footer(); ?>
inpost
Denn198
Берёшь и анализируешь код. Конечно можно было бы дебагом воспользоваться, но если тебе срочно, то вставляешь exit; с неким интервалом и ищешь место, на каком происходит переадресация. Сначала вставил на 5-ую строчку, если переадресации не было, значит она ниже. Далее на 10-ой и так далее. К примеру есть вызов какого-то метода, написал exit перед ним, в итоге скрипт остановился, а если после него - то уже циклическая переадресация. Значит проблема в этом методе, открываешь и анализируешь его таким же образом.
Это самый простой и быстрый способ для неопытного программиста.

_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.