2010-10-28 41 views
0

我试图编写一个将放置在多个不同网站上的.htaccess文件,而且我不想更改域在每个站点的session.save_path中。我试图使用%{HTTP_HOST}变量,但它不起作用。在.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 

我做错了什么?

回答

0

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

另一种解决方案可能是设置一个自动prepend文件,然后在其中设置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
+0

谢谢你,bradym!我会尝试一下。 – Skumberg 2010-12-10 12:33:12

相关问题