Не настроен сервак апаче, index.php перекидывает...

vol_k

Такая ситуация: есть index.php с содержимом:
<?php
if (file_exists("./install.php" {
$location = $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];
preg_match_all("/([^\/]*)[^\?]*[\/]/", $location, $m);
$location = $m[0][0]."install.php";
header("Location: http://".$location);
exit;
} else {
echo "<b>ÎØÈÁÊÀ: </b> ôàéë install.php íå íàéäåí!";
}
?>
Но, сервер апаче новый и по неизвестной причине сайт перекидывается на http://127.0.0.1/install1.php
Что это такое и как это исправить?

stm7884696

127,0,0,1 = $_SERVER["REQUEST_URI"]; для тебя.
че тебе еще интересно ?
как из ip имя домена получить?
юзай мануал...

vol_k

Мануал к апаче?
Ну а это хоть в .conf меняется или где?

stm7884696

это в пхп есть функция, которая по ip получает имя домена, и есть функция, которая делает наоборот...
php.net тебе в помощь

vol_k

Ну а почему тогда на обычном хостинге эта функция получает нужное значение, а на моем серваке вот такая байдень с 127.0.0.1
Где именно проблема? Там поменять одну строчку я уверен, а ты меня на фак какой-то гонишь..

artimon

1. Смотреть httpd.conf на предмет строки
ServerName my.server.name
Если нет, то написать.
2. Две минуты думал, но так и не понял, что этот скрипт делает.

vol_k

Этот скрипт просто перенаправляет на страницу install.php

stm7884696

а у тебя функция $_SERVER["REQUEST_URI"];возвращает имя хоста по идее... а может и ip, точно не помню...
Так вот, когда ip - на нормальном хосте, ты и попадаешь куда надо...
Вот только одно непонятно, а че ты по своему ip не попадаешь на себя?
127,0,0,1 - это же ip тебя самого!

ruler

Кажется, нет.
Судя по всему, с /cool.php?shit он перенаправит на /cool.php.install.php

a10063

сайт перекидывается на http://127.0.0.1/install1.php
Этот скрипт просто перенаправляет на страницу install.php
откуда там еще '1' берется?

artimon

не путай человека, он сам запутается.
$_SERVER["REQUEST_URI"] -- это не функция, а переменная, значение которой задаёт Apache. Причём это не имя хоста, а всё, что идёт после первого слеша.
Имя хоста, это $_SERVER["HTTP_HOST"]

artimon

А зачем он это делает через задницу?
Чем плохо
 header("Location: http://" . $_SERVER['HTTP_HOST'] . '/install.php');

stm7884696

а я понял! тама недось такая мулька из-за того, что поставили возможность установки не в корень сервака, а в любую папку...
тока прописали крива )
Оставить комментарий
Имя или ник:
Комментарий: