【发布时间】:2019-09-26 15:03:33
【问题描述】:
我在本地使用 LAMP 创建了一个服务器,我想将 Laravel 用于后端,将 Angular 7 用于前端。
我把这个放到我的web.php 文件中:
<?php
/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| contains the "web" middleware group. Now create something great!
|
*/
Route::get('/', function () {
View::addExtension('html', 'php');
return view('index');
});
我将所有 Angular 文件都放在了 /public/ 文件夹中,除了 index.html 位于 /resources/views 中。
原因是:如果你去 site.com/ Angular 将会被加载。例如,如果您单击链接并转到 site.com/page,则 Angular 将加载此页面。直到这里一切都按预期工作。
但是,如果您只是在浏览器的地址栏中键入 site.com/page,您实际上是在向 site.com/page 发送请求。由于它不存在,Web 服务器将返回 404 并且 Angular 应用程序将无法工作。 Angular 甚至没有机会被加载。
我知道这是因为我在de web.php文件中没有到/page的路由,但我的问题是如何解决这个路由问题?
谢谢。
【问题讨论】:
-
您必须将您的网络服务器配置为 index.html 的全部内容
标签: angular laravel apache server routing