Tùy chọn 1: Sử dụng .htaccess
Nếu nó chưa có ở đó, hãy tạo tệp .htaccess trong thư mục gốc của Laravel. Tạo một .htaccess
tệp trong thư mục gốc Laravel của bạn nếu nó chưa tồn tại. (Thông thường nó nằm trong public_html
thư mục của bạn )
Chỉnh sửa tệp .htaccess để nó chứa mã sau:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^(.*)$ public/$1 [L]
</IfModule>
Bây giờ bạn sẽ có thể truy cập trang web mà không có phần "/public/index.php/".
Tùy chọn 2: Di chuyển những thứ trong thư mục '/ public' vào thư mục gốc
Tạo một thư mục mới trong thư mục gốc của bạn và di chuyển tất cả các tệp và thư mục ngoại trừ thư mục chung. Bạn có thể gọi nó là bất cứ thứ gì bạn muốn. Tôi sẽ sử dụng "laravel_code".
Tiếp theo, di chuyển mọi thứ ra khỏi thư mục chung và vào thư mục gốc. Nó sẽ dẫn đến một cái gì đó tương tự như sau:
Sau đó, tất cả những gì chúng ta phải làm là chỉnh sửa các vị trí trong laravel_code/bootstrap/paths.php
tệp và index.php
tệp.
Trong laravel_code/bootstrap/paths.php
tìm dòng mã sau đây:
'app' => __DIR__.'/../app',
'public' => __DIR__.'/../public',
Và thay đổi chúng thành:
'app' => __DIR__.'/../app',
'public' => __DIR__.'/../../',
Trong index.php
, hãy tìm những dòng sau:
require __DIR__.'/../bootstrap/autoload.php';
$app = require_once __DIR__.'/../bootstrap/start.php';
Và thay đổi chúng thành:
require __DIR__.'/laravel_code/bootstrap/autoload.php';
$app = require_once __DIR__.'/laravel_code/bootstrap/start.php';
Nguồn: Cách xóa / public / khỏi URL trong Laravel
mod_rewrite
được bật.