文档根目录 return 404 子目录中的请求

Requests in subdirectory of document root return 404

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

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

并且我可以在成功登录后将用户重定向到此目录中的仪表板-index.php。但是此文件中的所有资产链接(js、css 等)无法加载并且 return 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,文件已加载。但我不想更改此 angular 4 应用程序中的所有 URL,而是使用单个服务器配置来将子目录文档根目录设置为其自身。我更愿意使用 public 目录中的 .htaccess 来执行此操作,这样当我将网站上传到真实服务器时,它会开箱即用。我怎样才能做到这一点?

解决这类问题最好的方法是运行:

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

构建 angular 应用程序。这将添加

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

到构建的仪表板-index.php,所有资产链接从现在开始都可以使用。