nopox

Рейтинг
5
Регистрация
15.08.2007

Апачевый mod_proxy?

На самом деле родная сессия PHP основывается на тех же самых cookies: у клиента в cookie хранится идентификатор сессии. А вся информация, связанная с ID, лежит на сервере. PHP позволяет задавать параметры установки "печенюшки" через функцию session_set_cookie_param. Там указан список аргументов, которые управляют ими. Среди них есть и домен ;) :

$domain = '.mydomain.com'; 

session_set_cookie_params(7200, '/', $domain);
session_start();

На всякий случай поясню, что 7200 - это количество времени в секундах, после которого Cookie считается протухшей, а '/' - путь, для которого она будет действовать. С доменом всё понятно, надеюсь :).

КиллерМЕН:PHP предоставляет возможность переопределить обработчики сессии с помощью функции session_set_save_handler. Там же есть пример, который, впрочем, реализует ту же схему, что работает по дефолту. Но в комментариях есть и готовые решения по хранению сессий в базе. Например, вот этот.

Рискну предположить, что событие onunload в документе, который откроется в попапе, с задачей справится:

<html>

<body onunload="window.opener.openedWindow = null; ">
...
</body>
</html>

convert_cyr_string не поможет. Не умеет он UTF-8... А вот комментарии с этой странички очень даже могут помочь. Особенно в том случае, если у Вас не установлено расширение iconv =)

Вообще, код с виду корректный, но есть два "но":

Первое, как уже сказали, непонятка с $_SERVER['DOCUMENT_ROOT']. Очень может быть, что по получившемуся пути просто нет файла. Попробуйте добавить в начало скрипта вот такие строки:

error_reporting(E_ALL);
ini_set('display_errors', true);

и посмотреть, вывалилось какое-нибудь предупреждение о несуществующих файлах или нет. Если ошибки нет, то, возможно, ответ кроется в причине №2?

Второе: смущает открывающий тег <?: дело в том, что в зависимости от настроек (конкретнее - от директивы short_open_tags в php.ini) PHP может не считать тег <? началом обработки скрипта. Попробуйте записать открывающий тег PHP целиком: <?php (впрочем, на виртуальных хостингах обычно позволяют пользоваться краткой формой. Для совместимости).

snug:
Ничего не получается. Уже что только не пробовал. Выставил всё правильно.

RewriteEngine On
#RewriteRule ^([^/]*)/([^/]*)\.html$ /index.php?dr=$1&id=$2 [L]
RewriteRule ^([a-z]*)/([a-z]*)\.html$ /index.php?dr=$1&id=$2 [L,QSA]
#RewriteRule ^([a-z]+)/([\D]+)[/]?$ /index.php?direct=$1&id=$2
Перепробовал уже несколько вариантов и безрезультатно.
Всётаки мне кажетс что-то они на сервере не довключили.БЛИИИИН.
Написал в поддержку. Буду ждать до завтра врядли что мне кто-то напишет в выходной.

Что-то вроде такого?

RewriteRule ^([a-z]+)/([\D]+)\.html$ /index.php?direct=$1&id=$2 [L] 

А можно узнать, что говорит сервер? Если конкретно - записи из error.log

1 23
Всего: 26