yii2 Url 漂亮显示问题 [ 未指定版本 ]
yii2安装完之后,显示的路径是 http://loclahost/basic/web/index.php
,现在我把basic这个目录里面的内容上传到虚拟主机上了,然后通过 http://www.example.com/web/index.php
来访问,我想问有什么方法把web去掉,我没有配置apache主机目录的权限。
很高兴的告诉各位,我想到办法解决这个问题了。
- 我的虚拟服务器里面有4个目录(databases、logs、others、wwwroot),wwwroot是默认访问的目录
- 将我本地项目的web目录修改为wwwroot
- 删除服务器上面的wwwroot目录,上传整个项目到虚拟服务器上,上传的地址与原来的wwwroot是同意目录
=======================================分割线=======================================
这是很久前的问题了,现在又有了更好的解决方案
这个项目可以很好的解决YII2.X如何部署到虚拟服务器上,而且用的是高级版,连用户登录都省了,我是不是很懒、、、
最佳答案
-
很高兴的告诉各位,我想到办法解决这个问题了。
- 我的虚拟服务器里面有4个目录(databases、logs、others、wwwroot),wwwroot是默认访问的目录
- 将我本地项目的web目录修改为wwwroot
- 删除服务器上面的wwwroot目录,上传整个项目到虚拟服务器上,上传的地址与原来的wwwroot是同意目录
=======================================分割线=======================================
这是很久前的问题了,现在又有了更好的解决方案
这个项目可以很好的解决YII2.X如何部署到虚拟服务器上,而且用的是高级版,连用户登录都省了,我是不是很懒、、、
其他 2 个回答
-
-
1、web\Application:注消方法bootstrap内的/* Yii::setAlias('@webroot', dirname($request->getScriptFile()));
Yii::setAlias('@web', $request->getBaseUrl()); */
2、frontend/config/bootstrap.php增加两个别名为Yii::setAlias('@webroot', dirname(DIR) . '/web');
Yii::setAlias('@web', '/frontend/web');共 2 条回复补充首页信息路径要改,我是放到主目录了,不能贴图,下面是首页源码,主要是改了个路径,其它没变:
defined('YII_DEBUG') or define('YII_DEBUG', true);
defined('YII_ENV') or define('YII_ENV', 'prod');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();
这样不管入口文件放到哪个目录,只要改下引用配制文件位置就可以了。
注:由于更改了框架本身源码,以后更新版本会麻烦点,要稍注意下。
legend 上海普陀
最后登录:2021-04-21
在线时长:299小时28分
- 粉丝8
- 金钱3455
- 威望20
- 积分6645