Problem z routingiem na serwerze z XAMPP

0

Przerabiam kurs PHP ze strony laracast i na podstawie lekcji z routingu stworzyłem prostą aplikację. Na wbudowanym serwerze, który uruchamiam bezpośrednio w katalogu aplikacji routing wygląda tak: http://localhost:8888/ i np. http://localhost:8888/books - oczywiście wszystko pięknie działa, jest ok.

Problem pojawia się w sytuacji, gdy korzystam z XAMPP: pliki aplikacji umieszczone są w katalogu np. C:\xampp\htdocs\bookstore i wtedy routing przestaje działać i nie wyświetlają się żadne strony.

routes.php tworzy tablicę routingu.

<?php

$router->define([
    '' => 'controllers/index.php',
    'books' => 'controllers/books.php',
    'authors' => 'controllers/authors.php'
]);

fragment nawigacji

<ul class="navbar-nav mr-auto">
    <li class="nav-item active">
        <a class="nav-link" href="/">Home</a>
    </li>
    <li class="nav-item active">
        <a class="nav-link" href="/books">Books</a>
    </li>
    <li class="nav-item active">
        <a class="nav-link" href="/authors">Authors</a>
    </li>
</ul>

Domyślam się, że problem leży po stronie tablicy routingu, ale jak próbowałem dopisać "bookstore" to nic nie pomogło :)

1

ten sposób nie zadziała, musisz utworzyć wpis w C:\xampp\apache\conf\extra\httpd-vhosts.conf

<VirtualHost laravel.site:80>
  DocumentRoot "C:\xampp\htdocs\laravel\public"
  ServerAdmin laravel.site
  <Directory "C:\xampp\htdocs\laravel">
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
  </Directory>
</VirtualHost>

potem dodajesz w C:\Windows\System32\drivers\etc

127.0.0.1	laravel.site

potem tworzysz projekt w htdocs\laravel i oczywiście odpalasz xampp, w przeglądarce wpisujesz laravel.site

0

@czysteskarpety: Niestety, ale działa tylko bezpośrednio dla http://laravel.site/ a dla http://laravel.site/books czy http://laravel.site/authors dostaję odpowiedź, że nie znaleziono obiektu, error 404.

0

spróbuj ogarnąć coś takiego:

Route::get('/', 'PagesController@index');
Route::get('/books', 'BooksController@index');
Route::get('/authors', 'AuthorsController@index');

ogólnie kontroler-metoda
https://laravel.com/docs/5.7/routing

0

Laravel, chyba w tym tkwi problem :) Nie korzystam z niego, ponieważ przerabiam kurs PHP Practicioner dla początkujących o PHP, kursu Laravela jeszcze nie robiłem, ale będę jak tylko ukończę podstawy PHP i zrobię jakieś proste aplikacje.

1 użytkowników online, w tym zalogowanych: 0, gości: 1