Thí dụ
- Đổi tên
server.php
thành
0Options -MultiViews -Indexes RewriteEngine On # Handle Authorization MemberHeader RewriteCond %{Authorization} . RewriteRule .* - [E=HTTP_AUTHORIZATION:%{Authorization}] # Redirect Trailing Slashes If Not A Folder... RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_URI} [.+]/$ RewriteRule ^ %1 [L,R=301] # Remove public URL from the path RewriteCond %{REQUEST_URI} !^/public/ RewriteRule ^[.*]$ /public/$1 [L,QSA] # Handle Front Controller... RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^ index.php [L]
- Sao chép thư mục
1 từ thư mụcOptions -MultiViews -Indexes RewriteEngine On # Handle Authorization MemberHeader RewriteCond %{Authorization} . RewriteRule .* - [E=HTTP_AUTHORIZATION:%{Authorization}] # Redirect Trailing Slashes If Not A Folder... RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_URI} [.+]/$ RewriteRule ^ %1 [L,R=301] # Remove public URL from the path RewriteCond %{REQUEST_URI} !^/public/ RewriteRule ^[.*]$ /public/$1 [L,QSA] # Handle Front Controller... RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^ index.php [L]
2 sang thư mụcOptions -MultiViews -Indexes RewriteEngine On # Handle Authorization MemberHeader RewriteCond %{Authorization} . RewriteRule .* - [E=HTTP_AUTHORIZATION:%{Authorization}] # Redirect Trailing Slashes If Not A Folder... RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_URI} [.+]/$ RewriteRule ^ %1 [L,R=301] # Remove public URL from the path RewriteCond %{REQUEST_URI} !^/public/ RewriteRule ^[.*]$ /public/$1 [L,QSA] # Handle Front Controller... RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^ index.php [L]
3Options -MultiViews -Indexes RewriteEngine On # Handle Authorization MemberHeader RewriteCond %{Authorization} . RewriteRule .* - [E=HTTP_AUTHORIZATION:%{Authorization}] # Redirect Trailing Slashes If Not A Folder... RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_URI} [.+]/$ RewriteRule ^ %1 [L,R=301] # Remove public URL from the path RewriteCond %{REQUEST_URI} !^/public/ RewriteRule ^[.*]$ /public/$1 [L,QSA] # Handle Front Controller... RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^ index.php [L]
- Thay đổi một chút
1 như sau cho thống kêOptions -MultiViews -Indexes RewriteEngine On # Handle Authorization MemberHeader RewriteCond %{Authorization} . RewriteRule .* - [E=HTTP_AUTHORIZATION:%{Authorization}] # Redirect Trailing Slashes If Not A Folder... RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_URI} [.+]/$ RewriteRule ^ %1 [L,R=301] # Remove public URL from the path RewriteCond %{REQUEST_URI} !^/public/ RewriteRule ^[.*]$ /public/$1 [L,QSA] # Handle Front Controller... RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^ index.php [L]
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^[.*]/$ /$1 [L,R=301]
RewriteCond %{REQUEST_URI} ![\.css|\.js|\.png|\.jpg|\.gif|robots\.txt]$ [NC]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !^/public/
RewriteRule ^[css|js|images]/[.*]$ public/$1/$2 [L,NC]
Đôi khi tôi đã sử dụng phương pháp này để xóa
Options -MultiViews -Indexes
RewriteEngine On
# Handle Authorization MemberHeader
RewriteCond %{Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{Authorization}]
# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} [.+]/$
RewriteRule ^ %1 [L,R=301]
# Remove public URL from the path
RewriteCond %{REQUEST_URI} !^/public/
RewriteRule ^[.*]$ /public/$1 [L,QSA]
# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
2 khỏi url Bài viết này đề cập đến các phương pháp khác nhau để xóa công khai khỏi URL trong laravel. Trên thực tế, cách tốt nhất là đặt các tệp của Laravel bên ngoài gốc máy chủ web của bạn và biến thư mục chung của Laravel thành gốc máy chủ web của bạn
Bởi nhóm hỗ trợ
Đọc thêm
xóa công khai/chỉ mục. php khỏi url laravel laravel 8 xóa công khai khỏi url laravel xóa công khai khỏi url và khi gọi css và javascript laravel xóa công khai khỏi url css không hoạt động sau khi xóa công khai khỏi url không thể truy cập css và js xóa công khai khỏi lumen đường dẫn công khai của laravel chuyển hướng htaccess của laravel
chỉ dành cho những người sử dụng IIS như tôi, giải pháp của tôi [cách giải quyết, tôi muốn nói] là loại bỏ chỉ mục. php khỏi url bằng cách nhập tiêu chuẩn. htaccess và sau đó tôi tạo một thư mục ảo, nói "nhân viên" chỉ vào D. \inetpub\wwwroot\lv\employees\public;Trong khi lưu trữ dự án Laravel trên cPanel, vấn đề truyền thống mà nhiều nhà phát triển gặp phải là đường dẫn
Options -MultiViews -Indexes
RewriteEngine On
# Handle Authorization MemberHeader
RewriteCond %{Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{Authorization}]
# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} [.+]/$
RewriteRule ^ %1 [L,R=301]
# Remove public URL from the path
RewriteCond %{REQUEST_URI} !^/public/
RewriteRule ^[.*]$ /public/$1 [L,QSA]
# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
6 được thêm vào URL. Bởi vì trong hầu hết các trường hợp, chúng tôi đặt một dự án trực tiếp vào thư mục Options -MultiViews -Indexes
RewriteEngine On
# Handle Authorization MemberHeader
RewriteCond %{Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{Authorization}]
# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} [.+]/$
RewriteRule ^ %1 [L,R=301]
# Remove public URL from the path
RewriteCond %{REQUEST_URI} !^/public/
RewriteRule ^[.*]$ /public/$1 [L,QSA]
# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
7, vì vậy, Options -MultiViews -Indexes
RewriteEngine On
# Handle Authorization MemberHeader
RewriteCond %{Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{Authorization}]
# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} [.+]/$
RewriteRule ^ %1 [L,R=301]
# Remove public URL from the path
RewriteCond %{REQUEST_URI} !^/public/
RewriteRule ^[.*]$ /public/$1 [L,QSA]
# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
7 là thư mục gốc của trang web và đó cũng là nơi đặt ứng dụng laravel của chúng tôiNhưng để chạy ứng dụng Laravel, chúng ta cần trỏ tên miền gốc của mình đến thư mục
Options -MultiViews -Indexes
RewriteEngine On
# Handle Authorization MemberHeader
RewriteCond %{Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{Authorization}]
# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} [.+]/$
RewriteRule ^ %1 [L,R=301]
# Remove public URL from the path
RewriteCond %{REQUEST_URI} !^/public/
RewriteRule ^[.*]$ /public/$1 [L,QSA]
# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
2 của laravel. Có thể làm điều đó với cPanel nhưng bạn cần thực hiện một số bước mà hầu hết mọi người không biết và cũng là một quá trình tẻ nhạt. Vì vậy, để làm cho nó đơn giản, những gì bạn có thể làm là, có một cách chúng tôi có thể thực hiện thông qua tệp Options -MultiViews -Indexes
RewriteEngine On
# Handle Authorization MemberHeader
RewriteCond %{Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{Authorization}]
# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} [.+]/$
RewriteRule ^ %1 [L,R=301]
# Remove public URL from the path
RewriteCond %{REQUEST_URI} !^/public/
RewriteRule ^[.*]$ /public/$1 [L,QSA]
# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
1 trong thư mục gốc của chúng tôiChúng tôi có thể sao chép tệp
Options -MultiViews -Indexes
RewriteEngine On
# Handle Authorization MemberHeader
RewriteCond %{Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{Authorization}]
# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} [.+]/$
RewriteRule ^ %1 [L,R=301]
# Remove public URL from the path
RewriteCond %{REQUEST_URI} !^/public/
RewriteRule ^[.*]$ /public/$1 [L,QSA]
# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
1 từ thư mục Options -MultiViews -Indexes
RewriteEngine On
# Handle Authorization MemberHeader
RewriteCond %{Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{Authorization}]
# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} [.+]/$
RewriteRule ^ %1 [L,R=301]
# Remove public URL from the path
RewriteCond %{REQUEST_URI} !^/public/
RewriteRule ^[.*]$ /public/$1 [L,QSA]
# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
2 của mình và sau đó sửa đổi tệp đó để hoạt động với thư mục gốc trực tiếp và định tuyến mọi yêu cầu đến thư mục Options -MultiViews -Indexes
RewriteEngine On
# Handle Authorization MemberHeader
RewriteCond %{Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{Authorization}]
# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} [.+]/$
RewriteRule ^ %1 [L,R=301]
# Remove public URL from the path
RewriteCond %{REQUEST_URI} !^/public/
RewriteRule ^[.*]$ /public/$1 [L,QSA]
# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
2Đây là tệp
Options -MultiViews -Indexes
RewriteEngine On
# Handle Authorization MemberHeader
RewriteCond %{Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{Authorization}]
# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} [.+]/$
RewriteRule ^ %1 [L,R=301]
# Remove public URL from the path
RewriteCond %{REQUEST_URI} !^/public/
RewriteRule ^[.*]$ /public/$1 [L,QSA]
# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
1 cuối cùng, Options -MultiViews -Indexes
RewriteEngine On
# Handle Authorization MemberHeader
RewriteCond %{Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{Authorization}]
# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} [.+]/$
RewriteRule ^ %1 [L,R=301]
# Remove public URL from the path
RewriteCond %{REQUEST_URI} !^/public/
RewriteRule ^[.*]$ /public/$1 [L,QSA]
# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
Bằng cách thêm tệp trên vào thư mục gốc, chúng ta có thể sử dụng các dự án laravel mà không cần đường dẫn chung. Kiểm tra hai dòng sau
Nếu bạn đã sử dụng bất kỳ thủ thuật nào khác để xóa công khai khỏi URL, chẳng hạn như thay đổi tên máy chủ. php để lập chỉ mục. php và thay đổi thành đường dẫn tệp lõi. Rõ ràng, không làm điều đó. Vậy thì tại sao Laravel không đưa ra giải pháp như thế này bởi vì đó không phải là cách thích hợp để làm điều đó
1] Xóa công khai khỏi URL bằng htaccess trong Laravel
Bằng cách thêm một. htaccess vào thư mục gốc, Bạn có thể truy cập website mà không cần public
Options -MultiViews
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -d [OR]
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^ ^$1 [N]
RewriteCond %{REQUEST_URI} [\.\w+$] [NC]
RewriteRule ^[.*]$ public/$1
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ server.php
2] Xóa công khai bằng cách tạo máy chủ ảo tại địa phương của bạn
Tôi đang đưa ra bản demo ở đây cho hệ điều hành Window. Nhưng tôi sẽ cố gắng xác định một bước để mọi người có thể dễ dàng thực hiện theo bước. Bạn cũng có thể nghiên cứu trên google tương tự cho hệ điều hành cụ thể
Bước 1. Đi đến C. \Windows\system32\drivers\etc\ mở tệp "hosts" ở chế độ Quản trị viên
Bước 2. Thêm đoạn mã sau vào nó. Ở đây, tôi đang cung cấp cho bạn một bản demo của tên dự án. demo tên miền cục bộ, bạn có thể chỉ định bất kỳ tên miền nào bạn muốn. Chỉ cần làm cho nó không đổi ở mọi nơi
127.0.0.1 projectname.local
Bước 3. Bây giờ, hãy truy cập,
Options -MultiViews
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -d [OR]
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^ ^$1 [N]
RewriteCond %{REQUEST_URI} [\.\w+$] [NC]
RewriteRule ^[.*]$ public/$1
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ server.php
5 cho người dùng xampp và cho người dùng wamp
Options -MultiViews
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -d [OR]
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^ ^$1 [N]
RewriteCond %{REQUEST_URI} [\.\w+$] [NC]
RewriteRule ^[.*]$ public/$1
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ server.php
6 và mở tệp
Options -MultiViews
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -d [OR]
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^ ^$1 [N]
RewriteCond %{REQUEST_URI} [\.\w+$] [NC]
RewriteRule ^[.*]$ public/$1
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ server.php
7. Bây giờ thêm đoạn mã sau vào nóghi chú. Thay đổi gốc Tài liệu theo dự án của bạn, đồng thời thêm tên miền như bạn xác định vào tệp "hosts"
ServerAdmin projectname.local
DocumentRoot "C:/xampp/htdocs/projectdir"
ServerName projectname.local
ErrorLog "logs/projectname.local.log"
CustomLog "logs/projectname.local.log" common
Bước 4. Bước cuối cùng nhưng quan trọng là khởi động lại Xampp hoặc Wamp của bạn và truy cập url như
Options -MultiViews
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -d [OR]
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^ ^$1 [N]
RewriteCond %{REQUEST_URI} [\.\w+$] [NC]
RewriteRule ^[.*]$ public/$1
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ server.php
8 và Laravel của bạn sẽ phản hồi mà không cần URL công khai3] Xóa công khai bằng cách chạy lệnh trong Laravel
Nếu bạn đang làm việc tại địa phương thì bạn không cần phải làm gì cả, chỉ cần chạy lệnh sau từ thiết bị đầu cuối hoặc công cụ dòng lệnh của bạn. Sau đó, bạn có thể truy cập trang web của mình bằng URL được cung cấp bằng dòng lệnh
> php artisan serve
Nếu bạn sẵn sàng chạy dự án của mình trên IP cụ thể thì bạn cần chạy lệnh sau. Nếu bạn đang làm việc trên mạng LAN thì nếu bạn muốn cho phép người khác truy cập trang web của mình từ cục bộ thì bạn chỉ cần kiểm tra địa chỉ IP của mình bằng dòng lệnh bằng cách chạy "ipconfig" sau khi nhận được địa chỉ IP của bạn chạy theo lệnh
> php artisan serve --host=192.168.0.177
Nếu bạn sẵn sàng chạy dự án của mình trên một IP cụ thể với cổng cụ thể thì bạn cần thực hiện lệnh sau
> php artisan serve --host=192.168.0.177 --port=77
4] Xóa công khai trên máy chủ lưu trữ hoặc trên cpanel
Sau khi hoàn thành dự án, bạn cần lưu trữ dự án trên máy chủ, sau đó bạn chỉ cần đặt gốc tài liệu trên miền của mình vào thư mục chung. Kiểm tra ảnh chụp màn hình bên dưới
Theo ảnh chụp màn hình nếu bạn không có bất kỳ thư mục dự án nào trong public_html thì bạn chỉ cần đặt gốc tài liệu của mình như
127.0.0.1 projectname.local
0