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

wqsoz72f  于 2023-01-12  发布在  PHP
关注(0)|答案(4)|浏览(205)

我正在开发laravel 5.5.33。我已经在视图文件夹中创建了一些页面,如index.blade.phpabout.blade.php等。
这两个页面的路由在本地机器上运行良好。然后我将项目文件夹迁移到我的共享主机。页面index.blade.php的路由运行良好,但相同的功能不适用于任何其他文件,如about.blade.php
web.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');
});

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>
hmtdttj4

hmtdttj41#

我认为您刚刚从public或public_html文件夹中移动了.htaccess文件。
你必须复制它,而不是剪切/移动它。
只需将.htaccess文件的副本粘贴到public或public_html文件夹中即可。

uujelgoq

uujelgoq2#

只需在.htacces上添加此代码

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]

并将.htacces文件保存在public_html中

jobtbby3

jobtbby33#

尝试在url()帮助器中 Package 路径
<li class="mega-menu"><a href="{{url('/about')}}">About Us</a></li>
我还要再次检查您是否打开了mod_rewrite,如果是apache(或NGINX/{在此插入服务器}的等效项)
或者更好的方法是为路由添加一个名称,然后在刀片式服务器模板上调用该名称:

// 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');

以及

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

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

vqlkdk9b

vqlkdk9b4#

请尝试以下代码:
定义的途径:

Route::get('/', 'HomeController@index');
Route::get('about', 'HomeController@about');

控制器代码:

public function index()
{
    return view('homes.index'); // homes is folder name and index is index.blade.php , below follow image .
}

public function about()
{
    return view('about.about');
}

Html代码:

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

相关问题