Solution
The solution was found thanks to @Gert B.
Simply add to your Laravel application any virtual host (I added for mine) laravel1.test
How to add Virtual host: Go to C:WindowsSystem32driversetchosts
add line:
127.0.0.1 laravel1.test (or your virtual host name)
And add this to your vhosts(in case of using xampp) in C:xamppapacheconfextra httpd-vhosts
<VirtualHost *:80>
ServerName www.laravel1.test
ServerAlias laravel1.test
DocumentRoot "C:xampphtdocsLaravel1public"
<Directory "C:xampphtdocsLaravel1public">
# use mod_rewrite for pretty URL support
RewriteEngine on
# If a directory or a file exists, use the request directly
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# Otherwise forward the request to index.php
RewriteRule . index.php
# use index.php as index file
DirectoryIndex index.php
# ...other settings...
# Apache 2.4
Require all granted
## Apache 2.2
# Order allow,deny
# Allow from all
</Directory>
</VirtualHost>
I can’t pass the problem with routing in Laravel 8.5 framework. I know there have been many requests about this problem so far but any of given solutions didnt help in my case. I will show Frontend code, since backend is the same thing and also doesnt work. Right now, the only thing that works is index.php.
I know thanks to newest Laravel all bugs are hidden under simple error 404.
I already tried:
- Changing in apache/conf/httpd solution AllowOverride All
- Clearing whole cache and routes cache
- Any possible misspells in code
Still, without any working anwser.
My FrontendController at app/Http/Controllers
namespace AppHttpControllers;
use IlluminateHttpRequest;
class FrontendController extends Controller
{
public function index()
{
return view('frontend.index');
}
public function object()
{
return view('frontend.object');
}
public function article()
{
return view('frontend.article');
}
public function person()
{
return view('frontend.person');
}
public function room()
{
return view('frontend.room');
}
public function roomSearch()
{
return view('frontend.roomsearch');
}
}
My web.php at app/routes
use IlluminateSupportFacadesRoute;
use AppHttpControllersFrontendController;
##Frontend routes
Route::get('/','FrontendController@index')->name('index');
Route::get('/object','FrontendController@object')->name('object');
Route::get('/article','FrontendController@article')->name('article');
Route::get('/person','FrontendController@person')->name('person');
Route::get('/room','FrontendController@room')->name('room');
Route::get('/roomSearch','FrontendController@roomsearch')->name('roomSearch');
##Backend routes
Route::group(['prefix'=>'admin'],function(){
Route::get('/','BackendController@index')->name('adminHome');
Route::get('/cities','BackendController@cities')->name('cities');
Route::get('/myObjects','BackendController@myobjects')->name('myObjects');
Route::get('/profile','BackendController@profile')->name('profile');
Route::get('/saveObject','BackendController@saveobject')->name('saveObject');
Route::get('/saveRoom','BackendController@saveroom')->name('saveRoom');
});
.htacces file in app/public
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews
</IfModule>
Options +FollowSymlinks
RewriteEngine On
# Redirect Trailing Slashes...
RewriteRule ^(.*)/$ /$1 [L,R=301]
# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
</IfModule>
My routes image
Advertisement
Answer
Solution
The solution was found thanks to @Gert B.
Simply add to your Laravel application any virtual host (I added for mine) laravel1.test
How to add Virtual host: Go to C:WindowsSystem32driversetchosts
add line:
127.0.0.1 laravel1.test (or your virtual host name)
And add this to your vhosts(in case of using xampp) in C:xamppapacheconfextra httpd-vhosts
<VirtualHost *:80>
ServerName www.laravel1.test
ServerAlias laravel1.test
DocumentRoot "C:xampphtdocsLaravel1public"
<Directory "C:xampphtdocsLaravel1public">
# use mod_rewrite for pretty URL support
RewriteEngine on
# If a directory or a file exists, use the request directly
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# Otherwise forward the request to index.php
RewriteRule . index.php
# use index.php as index file
DirectoryIndex index.php
# ...other settings...
# Apache 2.4
Require all granted
## Apache 2.2
# Order allow,deny
# Allow from all
</Directory>
</VirtualHost>