Yii2漂亮的Url css链接不正确

Yii2漂亮的Url css链接不正确,yii2,yii2-advanced-app,Yii2,Yii2 Advanced App,我已经按照这个视频教程启用了漂亮的URL 一切正常,直到我使用自定义css 如果我在首页,css链接是abc.com/css/main.css。 但是当我转到另一个页面时,例如:post/index,链接变为abc.com/post/css/main.css。所以那里没有css,页面被破坏了 请帮我解决这个问题 谢谢。您必须使用AppAsset来定义css和js文件。另外,这与在css url之前不使用“/”有关,因为您没有获得根目录。如果您在布局文件中定义了一个css,并且没有设置为“/cs

我已经按照这个视频教程启用了漂亮的URL

一切正常,直到我使用自定义css

如果我在首页,css链接是
abc.com/css/main.css
。 但是当我转到另一个页面时,例如:post/index,链接变为
abc.com/post/css/main.css
。所以那里没有css,页面被破坏了

请帮我解决这个问题


谢谢。

您必须使用AppAsset来定义css和js文件。另外,这与在css url之前不使用“/”有关,因为您没有获得根目录。如果您在布局文件中定义了一个css,并且没有设置为“/css/main.css”,那么每次当您离开根目录时,它都会破坏样式。以下是一个例子:

/**
 * @author Qiang Xue <qiang.xue@gmail.com>
 * @since 2.0
 */
class AppAsset extends AssetBundle
{
    public $basePath = '@webroot';
    public $baseUrl = '@web';
    public $css = [
        'css/main.css',
    ];
    public $js = [
    ];
    public $depends = [
        'yii\web\YiiAsset',
        'yii\bootstrap\BootstrapAsset',
    ];
}
/**
*@作者薛强
*@自2.0以来
*/
类AppAsset扩展了AssetBundle
{
public$basePath='@webroot';
public$baseUrl='@web';
公共$css=[
“css/main.css”,
];
公共$js=[
];
公共美元=[
“yii\web\YiiAsset”,
'yii\bootstrap\bootstrappasset',
];
}