简体   繁体   中英

Laravel routing working on local server but not on cpanel

I am working on laravel 5.5.33. I have created few pages like index.blade.php , about.blade.php etc. in view folder.

The routing for both the pages are working perfectly on local machine. Then I migrated the project folder to my shared hosting. The routing for the page index.blade.php is working perfectly but the same function is not working for any other file eg 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>

I Think You Have Just Moved You .htaccess file from the public or public_html folder.

You have to copy it not cut/move it.

Just paste a copy of .htaccess file in public or public_html folder and it's done.

Try wrapping the path in the url() helper

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

I'd also double check you have mod_rewrite switched on if apache (or whatever is the NGINX/{insert server here} equivalent)


or even better add a name to your routes and then call that on the blade template:

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

and

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

You can get your route names from php artisan route:list and read about the helper here .

just add this code on.htacces

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

And save the.htacces file in public_html

Try this code:

Route defined:

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

controller code:

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 Code:

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

在此处输入图片说明

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM