Yii2在root中创建url到文件夹

时间:2015-05-20 14:06:19

标签: php yii2

我的问题有点简单但是尽管尝试了不同的Yii2功能,我无法获得我想要安装的音频播放器组件的正确URL。

所以,要保持简短。 Yii2安装在localhost上,localhost / yii2app /是索引。这是基于yii2高级应用程序,结构如下:

-Yii2app
-- frontend
-- backend
-- ...
-- flashplayer

现在,当我在示例视图中时,我想显示播放器以播放deisred示例。网址的网址是:

http://localhost/yii2app/frontend/web/sample/1

我希望在这个视图中实现播放器:

<object type="application/x-shockwave-flash" value="<?= Url::to('/flashplayer/', true); ?>player.swf" width="200" height="20" id="dewplayer" name="dewplayer">
    <param name="movie" value="<?= Url::home(false) . '/flashplayer/' ?>player.swf">
    <param name="flashvars" value="mp3=test.mp3" />
    <param name="wmode" value="transparent" />
</object>

正如你所看到的,我尝试了不同的方法,但到目前为止还没有成功。我正在关注网址:

/yii2app/frontend/web/flashplayer/player.swf

http://localhost/flashplayer/player.swf

显然,两者都不正确。网址我需要是:

/yii2app/flashplayer/player.swf

在网址中没有控制器路由的情况下,是否可以获得应用程序的主要路径?我不想包含webroot路径,而是包括服务器路径。此外,即使将应用程序移动到生产服务器,这也应该有效。

我会欣赏任何想法。

1 个答案:

答案 0 :(得分:1)

您可以从yii2app / frontend / web /复制index.php,assest,css,favicon.ico和robots.txt,然后将它们粘贴到yii2app文件中,并将yii2app文件中的index.php替换为:

<?php
defined('YII_DEBUG') or define('YII_DEBUG', true);
defined('YII_ENV') or define('YII_ENV', 'dev');

require(__DIR__ . '/vendor/autoload.php');
require(__DIR__ . '/vendor/yiisoft/yii2/Yii.php');
require(__DIR__ . '/common/config/bootstrap.php');
require(__DIR__ . '/frontend/config/bootstrap.php');

$config = yii\helpers\ArrayHelper::merge(
require(__DIR__ . '/common/config/main.php'),
require(__DIR__ . '/common/config/main-local.php'),
require(__DIR__ . '/frontend/config/main.php'),
require(__DIR__ . '/frontend/config/main-local.php')
);

$application = new yii\web\Application($config);
$application->run();

然后当你在localhost中打开yii2app时,你可以看到你的前端/网络 用这个网址:

localhost/yii2app