I have built a laravel api, I have placed the backend inside a laravel folder in the cpanel and the built vuejs frontend inside public_html, now u can see I am using both api.php and web.php, my frontend is working fine when I visit https://www.example.com but what's the url to my api endpoints since when I try something like https://www.example.com/api/somepage it doesn't work it just hits the routes I set using vue router?
Please I need help here I am a beginner, and thanks in advance.
Laravel apis have default middleware to establish security. Make sure you send tokens. In my opinion, test it in postman first.
If you have a 404 error , this link can help you
Sometimes it is possible that there is a problem with the route cache, so it is better to delete the route cache and create it again
php artisan route:clear
php artisan route:cache
Related
I installed and configured the inertia on my laravel app and wanted to create also an admin along with the already established single page functionality on my app and wanted to group it under /admin
Route::prefix('/admin')->group(function(){
Route::get('/login',[AdminController::class, 'login'])->name('admin.login');
});
the above route is expected to be accessible at "<domain>/admin/login" but not working at all. Any help, suggestions, ideas is greatly appreciated.
use ::prefix('admin')-> without the slash
1) ::prefix('admin') remove slash.
2) run php artisan route:cache and it will work!
I was developing a Full-Stack Laravel project using livewire and tailwind CSS in the front, everything was working just fine, I even did 5 commits on GitHub on this project. The problem is I came back to continue developing the project, and when I create new routes, Laravel returns 404 PAGE NOT FOUND, I even tried to test a very simple route, and it did not work too(404 page not found)
Route::get('/test', function () {
return 'hi';
});
Any solution to this weird problem?
Might be a chaching problem.
Try clear your cache by running
php artisan cache:clear
php artisan clear
You can also check all registered routes by running
php artisan route:list.
If thats not working it could also be a problem with the browsers internal cache. Had something like this before with Firefox.
Try using curl to access the endpoint
curl http://localhost:8080/test
There are a couple of questions like this, but none of them worked for me.
I have a new project in Laravel. I created new /register route, works perfectly.
But /login is not working. I'm getting 403 Forbidden error and nginx/1.13.3 beneath. I tried adding new .htaccess file in the root of the project and it didn't work.
I have a project that I created couple of months ago, with the same route /login and it still works perfectly, with no .htaccess fine in root.
I'm using Homestead machine as the server and I have Laravel 5.6.1. project.
And, no matter what I do, the same error is still there. I can remove the route, the controller or the view (just to provoke new, familiar error) but still the same one.
Any ideas what is going on?
First, nginx doesn't need an .htaccess file. It exists for apache users in new Laravel projects.
Second, Laravel has the authentication routes builtin, you shouldn't need to create login and register routes. Run:
php artisan make:auth
to scaffold your auth routes and views. Try removing the /register route you created and run the above command.
Just run
php artisan make:auth
and
php artisan migrate
in a fresh Laravel application.
Then, navigate your browser to
http://your-app.dev/register
or any other URL that is assigned to your application. These two commands will take care of scaffolding your entire authentication system!
I have a Laravel 5.3 project with VUE.js. I'm using vue-router also.
As this app is a Single Page Application, i'm using AJAX from vue-resourse for all the data requests.
In my routes/web.php I have this:
Route::any( '/{any?}/{any2?}/{any3?}', 'AdminController#index' );
So every route should execute the index method of my AdminController, the routes are in charge of vue-router. This is working perfect.
The problem is in the api routes that manage all the ajax requests. I'm using the routes/api.php for this without any middleware.
In my local environment all of this is working fine but when I uploaded this to a Ubuntu 16 VPS on AWS all the api routes are giving me a 500 Error with this log:
Request exceeded the limit of 10 internal redirects due to probable configuration error. Use 'LimitInternalRecursion' to increase the limit if necessary. Use 'LogLevel debug' to get a backtrace.
Any ideas?
Here is the answer!
I donĀ“t know how (probably me drunk) I had the .htaccess in the proyect folder and not in the public folder...
Fairly new to Laravel here and I'm struggling to understand how to make Laravel 5.2 aware of where it resides. Here's the issue:
I set up auth using php artisan make:auth, and can now see the lovely landing page, as well as login and register links in the menu. The problem is that these links don't go to the right place. They point to /login and /register in the code respectively, which translates into http://localhost/login or http://localhost/register. But since I'm not on a production site yet and am developing locally, my website resides at http://localhost/projectname/public.
I've gone into config/app.php and tried various values for the URL parameter, but these have no effect.
What can I do to get these links to reflect the full site URL, without manually entering it each time?
you can run the development server in laravel using this command
php artisan serve
Did you try that?
Use laravel url function:
{{ url().'/login' }}