Вот мой код в redirect.php: (я знаю, что это непрактично)
<?php
header("Location: " . $_GET['to']);
?>
А вот и проблема. Эта страница работает и перенаправляет правильно:
redirect.php?to=http://www.google.com
Но это не так:
redirect.php?to=http://www.google.com/
Проблема не в последнем слэше, этот тоже не работает:
redirect.php?to=http://www.google.com/intl/en/about/corporate/index.html
Также не выполняет запрос GET с кодом Urlen:
redirect.php?to=http%3A%2F%2Fwww.google.com%2F
Но работают следующие ошибочные: (Обратите внимание на одну косую черту в http: /)
redirect.php?to=http:/www.google.com/
redirect.php?to=http:/www.google.com/intl/en/about/corporate/index.html
И эта ошибка вызывает ошибку 404 на моем собственном сервере, как и должно быть («Запрошенный URL www.google.com не найден на нашем сервере ...»):
redirect.php?to=www.google.com/
В Firefox ошибочные сообщения отображают «Соединение с сервером было сброшено», а в Chrome также отображается страница «Ошибка 101 (net :: ERR_CONNECTION_RESET): Соединение было сброшено». Из-за этого я не вижу, какие заголовки отправляет сервер. На самом деле кажется, что не отправляет!
Самое смешное, что все вышеперечисленные запросы работают нормально, когда я тестирую их на своем локальном хосте с помощью WampServer, но когда я загружаю их, это просто не работает! Вывод или спецификация перед заголовком отсутствуют, прокси-сервер не используется, и вся работа выполняется на порту 80. Может ли мой серверный конфиг (какой конфиг?) Источником проблемы?
Я не могу думать ни о чем другом, чтобы попробовать и поэкспериментировать.
Я уже читал некоторые проблемы с перенаправлением после отправки данных POST, но я не думаю, что это связано с этой проблемой.
EDIT:
Попытка отправки заголовков статуса 301/303 перед заголовком местоположения ... Не повезло.
Позвонил другу и попросил его проверить с другим компьютером и другим провайдером ... Не повезло.
Написал другой скрипт в кодировке ASCII (вместо utf8) ... Не повезло.
Пожалуйста, укажите мне другие тесты и диагнозы, которые я могу поставить по этому вопросу.