Laravel 路由在本地服务器上工作,但不在 cpanel 上

Jee*_*tel 5 php laravel

我正在使用 laravel 5.5.33。我在视图文件夹中创建了几个页面,如index.blade.phpabout.blade.php等。

这两个页面的路由在本地机器上运行良好。然后我将项目文件夹迁移到我的共享主机。页面index.blade.php的路由工作正常,但相同的功能不适用于任何其他文件,例如about.blade.php

网页.php

// This function is working for index file
 Route::get('/', function () {
    return view('index');
});

// This function is not working for about file
Route::get('about', function () {
    return view ('about');
});
Run Code Online (Sandbox Code Playgroud)

header.blade.php

<ul>
<li class="mega-menu"><a href="/">Home</a></li>
<li class="mega-menu"><a href="about">About Us</a></li>
<ul>
Run Code Online (Sandbox Code Playgroud)

小智 5

我认为您刚刚从 public 或 public_html 文件夹中移动了 .htaccess 文件。

您必须复制它而不是剪切/移动它。

只需将 .htaccess 文件的副本粘贴到 public 或 public_html 文件夹中即可完成。


ggd*_*gdx -1

尝试将路径包装在url()助手中

<li class="mega-menu"><a href="{{url('/about')}}">About Us</a></li>

我还会仔细检查您mod_rewrite是否已打开 apache(或 NGINX/{insert server here} 等效项)


或者更好地为您的路线添加一个名称,然后在刀片模板上调用它:

// This function is working for index file
 Route::get('/', function () {
    return view('index');
})->name('index');

// This function is not working for about file
Route::get('about', function () {
    return view ('about');
})->name('about');
Run Code Online (Sandbox Code Playgroud)

<li class="mega-menu"><a href="{{route('about')}}">About Us</a></li>
Run Code Online (Sandbox Code Playgroud)

您可以从此处获取路线名称php artisan route:list并阅读有关帮助程序的信息。