我有一个Laravel 5.2应用程序,在public_html文件夹中我有一些资源存储在一个名为metronic的子文件夹中,因为我正在使用一个名为metronic的主题,并希望将它们全部捆绑在一个地方,以便更新它。
我使用URL :: asset()方法链接到这些资产,如下所示:
<script src="{!! URL::asset('metronic/global/plugins/fullCalendar/fullcalendar/fullcalendar.js') !!}"></script>
这将生成以下URL:
http://www.mywebsite.com/metronic/global/plugins/fullCalendar/fullcalendar/fullcalendar.js
出于某种原因,这在本地工作正常但是当我在生产服务器上运行时,请求通过Laravel。我有一些中间件,检查是否显示即将到来的页面,这是正在运行,所以而不是正在运行脚本正在运行保持页面。这是中间件的内容:
<?php namespace App\Http\Middleware;
use Closure;
use Request;
use Route;
use Session;
class HoldingPageCheck {
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
if(env('HOLDING_PAGE')==true && (!$request->is('coming-soon') && !$request->is('member/subscribe') && !$request->is('migrate') && !$request->is('contact') && $request->segment(1)!='admin')) {
Session::reflash();
return redirect(route('holding_page'));
}
return $next($request);
}
}
对我来说,为什么Laravel会干扰资产请求它没有任何意义,它应该在发出JS文件请求时完全不应该绕过Laravel?
答案 0 :(得分:1)
发现问题,那是因为我在脚本的路径中使用了驼峰式的情况。在本地使用xampp它并不介意,但显然我的实时环境区分大小写。