文档根目录的子目录中的请求返回404

时间:2018-05-30 20:35:05

标签: php angular laravel apache document-root

我已将apache虚拟主机配置文件的文档根目录设置为laravel的公共目录。我有一个角度4应用程序,它构建在public / dashboard-dist目录中。我已将此目录添加为搜索视图config / view.php的位置,如下所示:

'paths' => [
    resource_path('views'),
    public_path('dashboard-dist'),
],

成功登录后,我可以将用户重定向到此目录中的dashboard-index.php。但是此文件中的所有资产链接(js,css等)都无法加载并返回404.例如,bootstrap.min.css来自:

  

http://localhost/assets/css/bootstrap.min.css(404)

当我将此文件的href属性更改为:

<link href="/dashboard-dist/assets/css/bootstrap.min.css" rel="stylesheet" />

我得到200并且文件被加载。但我不想更改此角度4应用程序中的所有URL,而是使用单个服务器配置将子目录文档根目录设置为自身。我更喜欢在公共目录中使用.htaccess来执行此操作,因此当我将网站上传到真实服务器时,它将开箱即用。我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:0)

此类问题的最佳解决方案是运行:

ng build --base-href /dashboard-dist/ 

构建角度应用程序。这将添加

<base href="/dashboard-dist/">

到build的dashboard-index.php,从现在开始,所有资产链接都可以使用。