2012-03-18 8 views
0

На моем локальном хосте я запускаю веб-сайт и на www.website.com кто-то должен войти в систему и перенаправить на info.website.com. Я использую следующий путь для перенаправления пользователя:Относительный путь к субдомену

header("Location: /info.website.com/index.php?s=welcome"); 

Я загрузил его на мой живой сервер, но теперь он перенаправляет на

http://website.com/info.website.com/index.php?s=welcome

Как я могу решить это? Должен ли я что-то делать с $_SERVER['DOCUMENT_ROOT'] или чем-то еще?

ответ

1

header("Location: http://info.website.com/index.php?s=welcome");
Примечание: HTTP: //

+0

Спасибо, но если я делаю это на моем локальном хосте (тестовая среда) редирект не ОК. Так что я должен сделать чек, если он локальный или нет? – Jordy

+0

Я не понимаю, почему это не будет работать на localhost. Вы можете проверить, работает ли это для вас, хотя – Robus

+0

да, но если я это сделаю на localhost, он не должен переходить на живую версию, а локальную версию. – Jordy

0

Если вы хотите эмулировать реальный домен локально, то вы должны изменить свой хост файл, добавив что-то вроде: 127.0.0.1 mydomain.com

И настройте vhost, слушая mydomain.com (по крайней мере, apache)

Тогда вы можете просто сменить файл хостов, когда хотите извлечь из производства.

0

Вам не нужно включать HTTP-сообщение, когда вы отправляете заголовки местоположений. Они могут быть полностью относительна, например, так:

header("Location: /index.php?s=welcome"); 

Это должно работать на обоих тестовых и производственных серверах

+0

Это должен быть путь к субдомену, а не к тому же домену ;-) – Jordy

0
if ($_SERVER['HTTP_HOST'] != 'localhost') 
{ 
    header("Location: http://info.website.com/index.php?s=welcome"); 
} else 
{ 
    // go to localhost 
} 
Смежные вопросы