Не работают относительные пути

hussar

In code we trust!
Не работают относительные пути

Всем доброе время суток!!!
В локалке есть сервер (win2k+winrout c NAT и proxy). На том же сервере установлен Apache+PHP+MySql. Необходимо чтобы пользователи локалки могли заходить на сайт

Все вроде настроил. Но... Не работают относительные пути.

Я могу зайти с рабочей станции на сайт и загрузится index.php, на которой сделана авторизация, и если пароль и логин верны я должен попадаю на сайт. Если в скрипте выставить полные пути то все начинает работать, при относительных путях нифига, дальше индекса не пускает.

Перерыл уже много чего но ответа на вопрос не нашел. Подскажите в каком направлении искать ошибку!

Всем заранее спасибо
 

Фанат

oncle terrible
Команда форума
очевидно, проблема в том, что ты неправильно понимаешь, что такое относительные и абсолютные пути
 

hussar

In code we trust!
В этом случае опять загружается index.php
PHP:
if .....//логин и пароль правильный
header("Location: index_inn.php");
В этом случае я попадаю на index_inn.php
PHP:
if .....//логин и пароль правильный
header("Location: d:/internet/game/index_inn.php");
Насколько я понимаю я криво настроил виртуальный хост на сервере. Сделал так:

<VirtualHost 192.168.1.1>
ServerName q_base
DocumentRoot "d:/internet/game/"
</VirtualHost>
 

Фанат

oncle terrible
Команда форума

hussar

In code we trust!
Да это я туплю уже!
Просто ситуация такая. На моем локальном хосте все работает.
При переносе на сервер перестает работать. Таким образом получается что я не понимаю в чем проблема. Буду благодарен если подскажете в чем дело. предполагаю что в настройках апача на сервере, но где не понимаю
 

Фанат

oncle terrible
Команда форума
Для начала тебе надо понять, что такое относительные и абсолютные пути.
Для этого прочти ссылку, которую я тебе дал.

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

hussar

In code we trust!
index.php - форма для ввода логина и пароля
kkk.php - обработчик формы
index_inn.php - внутреность сайта

Вот что пишет файл аксесс.лог на сервере

192.168.1.12 - - [07/Nov/2004:16:45:27 +0300] "GET /index.php HTTP/1.1" 200 2609
192.168.1.12 - - [07/Nov/2004:16:45:27 +0300] "POST /kkk.php HTTP/1.1" 302 24
192.168.1.12 - - [07/Nov/2004:16:45:27 +0300] "GET /index_inn.php HTTP/1.1" 302 5
192.168.1.12 - - [07/Nov/2004:16:45:27 +0300] "GET /index.php HTTP/1.1" 200 2609
 

Фанат

oncle terrible
Команда форума
мне тоже так кажется.
правда, я не понимаю, почему ты не хочешь посмотреть, что реально шлет сервер браузеру.
 

hussar

In code we trust!
Извиняюсь что много получилось.
Но вот здесь я с трудом понимаю в чем может быть проблема.


POST /kkk.php HTTP/1.1
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-powerpoint, application/vnd.ms-excel, application/msword, application/x-shockwave-flash, */*
Referer: http://q_base
Accept-Language: ru
Content-Type: multipart/form-data; boundary=---------------------------7d41963225033e
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; MyIE2)
Host: q_base
Content-Length: 484
Connection: Keep-Alive
Cache-Control: no-cache

-----------------------------7d41963225033e
Content-Disposition: form-data; name="PHPSESSID"

844f05f2b8172e399491a34d310e2729
-----------------------------7d41963225033e
Content-Disposition: form-data; name="login"

admin
-----------------------------7d41963225033e
Content-Disposition: form-data; name="passwd"

letmein
-----------------------------7d41963225033e
Content-Disposition: form-data; name="go"

Подтвердить
-----------------------------7d41963225033e--


HTTP/1.1 302 Found
Date: Sun, 07 Nov 2004 14:19:13 GMT
Server: Apache/1.3.31 (Win32) PHP/4.3.9
X-Powered-By: PHP/4.3.9
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Location: index_inn.php
Keep-Alive: timeout=15, max=100
Connection: Keep-Alive
Transfer-Encoding: chunked
Content-Type: text/html

GET /index_inn.php HTTP/1.1
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-powerpoint, application/vnd.ms-excel, application/msword, application/x-shockwave-flash, */*
Referer: http://q_base
Accept-Language: ru
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; MyIE2)
Host: q_base
Connection: Keep-Alive
Cache-Control: no-cache


HTTP/1.1 302 Found
Date: Sun, 07 Nov 2004 14:19:14 GMT
Server: Apache/1.3.31 (Win32) PHP/4.3.9
X-Powered-By: PHP/4.3.9
Set-Cookie: PHPSESSID=6920d9f11409dabce7a1e75a0ef4ad23; path=/
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Location: index.php
Keep-Alive: timeout=15, max=99
Connection: Keep-Alive
Transfer-Encoding: chunked
Content-Type: text/html

GET /index.php HTTP/1.1
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-powerpoint, application/vnd.ms-excel, application/msword, application/x-shockwave-flash, */*
Referer: http://q_base
Accept-Language: ru
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; MyIE2)
Host: q_base
Connection: Keep-Alive
Cache-Control: no-cache


HTTP/1.1 200 OK
Date: Sun, 07 Nov 2004 14:19:14 GMT
Server: Apache/1.3.31 (Win32) PHP/4.3.9
X-Powered-By: PHP/4.3.9
Set-Cookie: PHPSESSID=045304a4ce6fe69e0054e64a2c8ce057; path=/
Expires: Mon, 26 Jul 1997 05:00:00 GMT
Cache-Control: no-store, no-cache, must-revalidate
Pragma: no-cache
Last-Modified: Sun, 07 Nov 2004 14:19:14 GMT
Cache-Control: post-check=0, pre-check=0
Keep-Alive: timeout=15, max=98
Connection: Keep-Alive
Transfer-Encoding: chunked
Content-Type: text/html
 

Фанат

oncle terrible
Команда форума
Видно все, как божий день.
К примеру то, что относительные пути работают великолепно.
Отправляют браузер, куда только скрипт пожелает
 

hussar

In code we trust!
Да я разобрался в чем проблема.
Спасибо за объяснения было очень интересно и поучительно :)

Дело в том что у меня есть скрипт проверки логинов и паролей. Этот скрипт инклудится на каждую страницу и проверяет есть ли в базе такие логин и пароль, сами логин и пароль берутся из сессии. вот к этому скрипту данные из сессии не попадают.

Я сделал как в FAQ написано. К локейшену прибавил PHPSESSID. Но выдается ошибка что это неопределенная константа, хотя в php.ini она есть, не закоментирована и называется именно так.
 

Фанат

oncle terrible
Команда форума
в php.ini в принципе не может быть констант.
ты точно понимаешь, что такое константа?
 

hussar

In code we trust!
Я имел ввиду параметр
session.name = PHPSESSID

В общем проблема решилась таким образом:

PHP:
header("Location: файл.php?PHPSESSID=".session_id());
В таком случае все работает. Теперь осталось поменять все хедеры по образу и подобию.

Еще вопрос. Ведь у меня на моей машине все пашет и без присоединения id сессии. Почему? Настройки ПХП сравнивал с серверными, все совпадает.
 

Фанат

oncle terrible
Команда форума
в факе все разъяснено.
кстати, там написано, что надо писать вместо PHPSESSID
 

Фанат

oncle terrible
Команда форума
Ну, если ты не поймешь из фака, что проблема, очевидно что в куках - приходи, спрашивай.
 
Сверху