【问题标题】:Using the %{HTTP_HOST} variable for session.save_path in .htaccess在 .htaccess 中为 session.save_path 使用 %{HTTP_HOST} 变量
【发布时间】:2011-05-01 20:13:00
【问题描述】:

我正在尝试编写一个 .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

我做错了什么?

【问题讨论】:

    标签: .htaccess


    【解决方案1】:

    很遗憾,apache 不支持此功能。请参阅http://httpd.apache.org/docs/2.0/env.html#using 上标题为“URL 重写”的段落。

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

    【讨论】:

    • 谢谢你,布拉迪姆!我试试看。
    猜你喜欢
    • 1970-01-01
    • 2013-04-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-30
    • 1970-01-01
    相关资源
    最近更新 更多