Cra*_*nio 3 php .htaccess mod-rewrite laravel laravel-4
我有一个处于测试阶段的站点,因此它不连接到真实数据,而是连接到数据库的本地副本.
我的客户现在需要快速链接来检索一些紧急且重要的pdf报告,因此我需要设置链接到"真实数据"的网站的另一个版本.
我可以使用不同的数据库连接创建两个环境("本地"和"实际"),我想通过URL选择环境(我知道从安全的角度来看它不是很漂亮,但我们需要这是理所当然的).
所以我想用:
my.ip.address/mysite 使用测试数据库
my.ip.address/mysite/real 使用真正的数据库,重定向到没有"真实文件夹"的URL.
F.ex.:/mysite/real/admin应该重定向到/mysite/adminLaravel 4上的"真实"环境.
是否可以对Laravel 4中的文件夹进行模式匹配,或者只对域进行模式匹配?换句话说,这有用吗?
$env = $app->detectEnvironment(array(
'test' => array('*/mysite/*'),
'real' => array('*/mysite/real/*'),
));
Run Code Online (Sandbox Code Playgroud)如果是这样,我只是无法弄清楚如何编写.htaccess规则,我试过了
RewriteRule ^/real(.*)$ $1
Run Code Online (Sandbox Code Playgroud)但它不会起作用.
我不确定Laravel的内部环境处理是否适用于文件夹,但它肯定适用于子域.您可以选择使用两个Apache vhost设置应用程序,一个命名test.example.local,一个命名real.example.local,然后在Laravel中设置环境选项,如下所示:
$env = $app->detectEnvironment(array(
'test' => array('test.example.local'),
'real' => array('real.example.local'),
));
Run Code Online (Sandbox Code Playgroud)
还有第二个选项使用.htaccess:您可以在.htaccess中设置它...
SetEnv LARAVEL_ENVIRONMENT test
SetEnv LARAVEL_ENVIRONMENT real
Run Code Online (Sandbox Code Playgroud)
然后你就可以在Laravel中设置你的环境:
$env = $app->detectEnvironment(function()
{
return $_SERVER['LARAVEL_ENVIRONMENT'];
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1123 次 |
| 最近记录: |