php – 如何使用.htaccess在Laravel 4中选择环境?

我有一个处于测试阶段的站点,因此它不连接到真实数据,而是连接到数据库的本地副本.

我的客户现在需要快速链接来检索一些紧急且重要的pdf报告,因此我需要设置链接到“真实数据”的网站的另一个版本.

我可以使用不同的数据库连接创建两个环境(“本地”和“实际”),我想通过URL选择环境(我知道从安全的角度来看它不是很漂亮,但我们需要这是理所当然的).

所以我想用:

my.ip.address / mysite使用测试数据库

my.ip.address / mysite / real使用真正的数据库,重定向到没有“真实文件夹”的URL.

F.ex.:/ mysite / real / admin应重定向到/ mysite / admin,但在Laravel 4上选择“真实”环境.

>是否可以对Laravel 4中的文件夹进行模式匹配,或者只对域进行模式匹配?换句话说,这有用吗?

$env = $app->detectEnvironment(array(
    'test' => array('*/mysite/*'),
    'real' => array('*/mysite/real/*'),
));

>如果是这样,我就无法弄清楚如何编写.htaccess规则,我试过了

RewriteRule ^/real(.*)$$1

但它不会起作用.

解决方法:

我不确定Laravel的内部环境处理是否适用于文件夹,但它肯定适用于子域.
您可以选择使用两个Apache vhost设置应用程序,一个名为test.example.local,一个名为real.example.local,然后在Laravel中设置环境选项,如下所示:

$env = $app->detectEnvironment(array(
    'test' => array('test.example.local'),
    'real' => array('real.example.local'),
));

使用.htaccess有第二种选择:
您可以在.htaccess中设置此…

SetEnv LaraVEL_ENVIRONMENT test
SetEnv LaraVEL_ENVIRONMENT real

然后你就可以在Laravel中设置你的环境:

$env = $app->detectEnvironment(function()
{
    return $_SERVER['LaraVEL_ENVIRONMENT'];
});

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...