在.htaccess中使用%{HTTP_HOST}变量用于session.save_path

时间:2010-10-28 11:29:59

标签: .htaccess

我正在尝试编写一个.htaccess文件,该文件将被放置在许多不同的站点上,我不想在每个站点的session.save_path中更改域。我正在尝试使用%{HTTP_HOST}变量,但它无效。

服务器上会话存储文件夹的路径如下所示:

/var/foo/vhosts/siteone.com/httpdocs/session/
/var/foo/vhosts/sitetwo.com/httpdocs/session/

所以无论域名如何,我都试图动态地开展这项工作。以下是我所得到的不起作用:

php_value session.save_path /var/foo/vhosts/%{HTTP_HOST}/httpdocs/session

我做错了什么?

1 个答案:

答案 0 :(得分:0)

不幸的是,apache不支持这一点。请参阅http://httpd.apache.org/docs/2.0/env.html#using上标题为“网址重写”的段落。

另一种解决方案可能是设置自动前置文件,然后在其中设置save_path。

在.htaccess中:

php_value auto_prepend_file /path/to/prepend.php

在prepend.php中:

<?php
session_save_path("/var/foo/vhosts/{$_SERVER['HTTP_HOST']}/httpdocs/session");

请参阅:

  1. http://php.net/manual/en/ini.core.php#ini.auto-prepend-file
  2. http://www.php.net/manual/en/function.session-save-path.php