Opcja 1: Użyj .htaccess
Jeśli go tam nie ma, utwórz plik .htaccess w katalogu głównym Laravel. Utwórz .htaccess
plik w katalogu głównym Laravel, jeśli jeszcze nie istnieje. (Zwykle jest pod twoim public_html
folderem)
Edytuj plik .htaccess tak, aby zawierał następujący kod:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^(.*)$ public/$1 [L]
</IfModule>
Teraz powinieneś mieć dostęp do witryny bez części „/public/index.php/”.
Opcja 2: Przenieś rzeczy z katalogu „/ public” do katalogu głównego
Utwórz nowy folder w katalogu głównym i przenieś wszystkie pliki i foldery z wyjątkiem folderu publicznego. Możesz to nazwać, jak chcesz. Użyję „laravel_code”.
Następnie przenieś wszystko z katalogu publicznego do folderu głównego. Powinno to spowodować coś podobnego do tego:
Następnie wszystko, co musimy zrobić, to edytować lokalizacje w laravel_code/bootstrap/paths.php
pliku i index.php
pliku.
W laravel_code/bootstrap/paths.php
odnaleźć następujący wiersz kodu:
'app' => __DIR__.'/../app',
'public' => __DIR__.'/../public',
I zmień je na:
'app' => __DIR__.'/../app',
'public' => __DIR__.'/../../',
W programie index.php
znajdź te wiersze:
require __DIR__.'/../bootstrap/autoload.php';
$app = require_once __DIR__.'/../bootstrap/start.php';
I zmień je na:
require __DIR__.'/laravel_code/bootstrap/autoload.php';
$app = require_once __DIR__.'/laravel_code/bootstrap/start.php';
Źródło: Jak usunąć / public / z adresu URL w Laravel
mod_rewrite
jest włączona.