1

我有一个基于 wordpress 的 php 应用程序在 ubuntu 服务器上的 apache 上运行。我已经开发了一个新版本的应用程序,我希望只有某些用户可以访问这个测试版。我的服务器结构是这样的:
/var/www/site
/var/www/betasite

我不希望这些用户运行不同域/子域的站点。这两个站点都应该运行相同的 wordpress 数据库,因此需要相同的域。基于会话/cookie 更改 wordpress 主题也是不可能的,因为我有很多资产/插件位于 wp-content/themes 文件夹之外。

我正在考虑给 beta 用户一个 cookie,并将带有这些 cookie 的请求重定向到新的文档根目录。我一直在尝试弄乱 htaccess 的 mod_rewrite,但经过大量实验后,我发现 mod_rewrite 无法重定向到 apache 文档根目录之外的内容。
我需要基于请求标头中的 cookie 的虚拟主机设置。有任何想法吗?

4

2 回答 2

1

在单独的(子)域下运行它确实是最好的选择。只要两个站点版本都可以使用相同的数据库架构,就没有理由不能在两个实例中使用相同的数据库。

您可能会看到的唯一问题是特定于 Wordpress 的问题。例如,数据库中可能有一个配置表,其中包含当前域名或主机名的字段。我的建议是简单地更改/修复 wordpress 代码,这样它就可以通过简单地从变量中检测正确的主机名来在没有这个变量的情况下工作$_SERVER

于 2011-05-11T11:48:20.013 回答
-1

在您的虚拟主机配置中尝试别名

<VirtualHost *:80>

    #config...

    <Directory "/path/to/doc/root">
        #config...
    </Directory>

    Alias /beta /path/to/beta/root
    <Directory "/path/to/beta/root">
        #config..
    </Directory>

</VirtualHost>
于 2011-05-11T12:18:50.193 回答