Lumen xóa công khai khỏi URL

Thí dụ

  1. Đổi tên server.php thành
                  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]
    
    0
  2. Sao chép 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]
    
    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 sang 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]
    
    3
  3. Thay đổi một chút
                  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 như sau cho thống kê
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ôi

Như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ôi

Chú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 khai

3] 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

Chủ Đề