React js with Laravel (5.1):删除 URL 散列会导致 laravel 路由器启动并失败

React js with Laravel (5.1): Removal of the URL hash causes laravel router to kick in and fail

我现在已经设置了一个简单的应用程序,前端使用 ReactJS,后端使用 Laravel(5.1)。

一切正常,但我想让 URLS 看起来正常,就像从 URL.

中删除“/#”一样

所以

   example.co.uk/#/about

变成

   example.co.uk/about

这不是问题,因为我实现了这一点,但是当我激活它时,Laravel 路由启动并标记路由错误。

是否可以阻止 Laravel 激活/执行此操作,以便 ReactJS 接管工作。

如果是这样也很好,所以如果设置/想要 Laravel 路由,那么它确实会使用该路由。

EG:这些是会使用 '/#'

的 ReactJS 路由
   example.co.uk/about
   example.co.uk/details
   example.co.uk/listings

那如果我到下面的URL那他们就被Laravel的路由控制了?

   example.co.uk/api/...
   example.co.uk/admin/

谢谢

你需要一个包罗万象的路由,无论URL如何,它都会执行相同的主控制器操作。将以下内容添加到您的 routes.php

Route::get('{path?}', 'Controller@action')->where('path', '.*');

这样所有 URL 都会转到 Controller@action,它应该显示您的应用程序的基本视图 - 运行 ReactJS 应用程序的视图。