Hosting
Tên miền
Cloud
Máy chủ
EmailSSLFirewall Anti DDoSTối ưu tốc độ website

Nội dung

Hướng dẫn thêm file .htaccess để chuyển hướng đến thư mục public trong Laravel

Ngày đăng:

11/12/2025

Cập nhật lần cuối:

22/12/2025

Khi triển khai Laravel trên shared host, việc tên miền không trỏ đúng vào thư mục public sẽ gây lỗi truy cập và tiềm ẩn rủi ro bảo mật do làm lộ các tệp tin nhạy cảm. Bài viết này sẽ hướng dẫn bạn dùng tệp .htaccess để chuyển hướng truy cập một cách chính xác, giúp ứng dụng hoạt động đúng và an toàn.

Lý do cần thêm file .htaccess để chuyển hướng đến thư mục public trong Laravel

Theo kiến trúc mặc định của Laravel, toàn bộ mã nguồn ứng dụng (model, controller, route,…) được đặt bên ngoài thư mục public nhằm tăng cường tính bảo mật. Tuy nhiên, khi triển khai trên các môi trường hosting phổ biến, tên miền thường được cấu hình để trỏ vào thư mục gốc (root) của dự án thay vì thư mục public.

Tình trạng này dẫn đến việc truy cập website sẽ gây ra lỗi “403 Forbidden” hoặc làm lộ cấu trúc thư mục. Giải pháp là sử dụng tệp .htaccess để chuyển hướng (redirect) toàn bộ yêu cầu truy cập vào thư mục /public của Laravel.

Bước 1: Xác định vị trí file .htaccess cần thêm

Đầu tiên bạn mở thư mục chứa toàn bộ mã nguồn Laravel (nằm cùng cấp với thư mục public). Trường hợp chưa có file .htaccess, hãy bắt đầu tạo mới file .htaccess.

File Manager hiển thị thư mục public_htmlpublic.
File Manager hiển thị thư mục public_htmlpublic.

Bước 2: Thêm nội dung chuyển hướng

Tiếp theo, dán đoạn mã sau vào file .htaccess:

<IfModule mod_rewrite.c>

# That was ONLY to protect you from 500 errors

# if your server did not have mod_rewrite enabled

RewriteEngine On

# RewriteBase /

# NOT needed unless you're using mod_alias to redirect

RewriteCond %{REQUEST_URI} !/public

RewriteRule ^(.*)$ public/$1 [L]

# Direct all requests to /public folder

</IfModule>

Giải thích:

  • <IfModule mod_rewrite.c>: Đây là một điều kiện kiểm tra xem module mod_rewrite có được bật trên máy chủ không. Điều này đảm bảo rằng đoạn mã chỉ hoạt động khi module mod_rewrite đã được bật.
  • RewriteEngine On: Dòng này bật tính năng rewrite (chuyển hướng) trên máy chủ.
  • RewriteCond %{REQUEST_URI} !/public: Dòng này là một điều kiện sử dụng để kiểm tra nếu đường dẫn yêu cầu không bắt đầu bằng “/public”. Điều này đảm bảo rằng các yêu cầu đến thư mục “public” đã được chuyển hướng sẽ không bị lặp lại.
  • RewriteRule ^(.*)$ public/$1 [L]: Dòng này là quy tắc rewrite thực tế. Nó áp dụng khi điều kiện ở trên được đáp ứng. Dòng này chuyển hướng toàn bộ đường dẫn yêu cầu (bao gồm cả các phần con) đến thư mục “public”. Phần [L] cho biết rằng đây là quy tắc cuối cùng (last rule) và không cần kiểm tra các quy tắc rewrite khác nữa.
  • </IfModule>: Đây đóng kết thúc điều kiện kiểm tra module mod_rewrite.
Nội dung file .htaccess
Nội dung file .htaccess

Bước 3: Lưu và kiểm tra kết quả

Sau khi lưu file .htaccess, truy cập lại website qua domain chính, sẽ có 2 trường hợp:

  • Nếu cấu hình đúng, website Laravel sẽ hiển thị trang chủ bình thường.
  • Nếu vẫn lỗi 500 hoặc trắng trang bạn hãy kiểm tra lại xem hosting có hỗ trợ mod_rewrite hay chưa, hoặc bật debug log để kiểm tra thêm.
Truy cập trang web hiển thị thành công
Truy cập trang web hiển thị thành công

Sau khi cấu hình file .htaccess, toàn bộ yêu cầu truy cập sẽ được tự động định tuyến về thư mục public. Điều này đảm bảo website Laravel có thể vận hành chính xác trên shared hosting mà không đòi hỏi các thao tác cấu hình phức tạp.

Sử dụng file .htaccess là giải pháp hiệu quả để triển khai ứng dụng Laravel một cách an toàn và đúng chuẩn trên môi trường hosting sử dụng Apache. Ưu điểm của phương pháp này là sự nhanh chóng, đơn giản trong triển khai và phù hợp ngay cả với người dùng không có nhiều chuyên môn kỹ thuật.

iconLưu ý

Để đảm bảo quá trình diễn ra suôn sẻ, bạn nên kiểm tra module mod_rewrite đã được kích hoạt và quyền truy cập thư mục đã được thiết lập chính xác trước khi tải file lên nhằm tránh các lỗi không mong muốn.

Trên đây là hướng dẫn chi tiết cách sử dụng tệp .htaccess để chuyển hướng toàn bộ truy cập vào thư mục public của dự án Laravel. Nếu bạn có bất kỳ thắc mắc hoặc gặp khó khăn trong quá trình cấu hình, hãy liên hệ trực tiếp với đội ngũ kỹ thuật Vietnix qua các kênh hỗ trợ để được tư vấn và giải quyết vấn đề một cách nhanh chóng, hiệu quả.

VIETNIX – DỊCH VỤ HOSTING, VPS TỐC ĐỘ CAO, ỔN ĐỊNH, BẢO MẬT

  • Địa chỉ: 265 Hồng Lạc, Phường Bảy Hiền, Thành Phố Hồ Chí Minh
  • Điện thoại: 1800 1093
  • Email liên hệ: sales@vietnix.com.vn
  • Website: https://vietnix.vn/

VIETNIX

Đội ngũ tại Vietnix

Kết nối với mình qua

Vietnix thành lập vào năm 2012, là công ty chuyên nghiệp tại Việt Nam trong lĩnh vực cung cấp dịch vụ Hosting, VPS, máy chủ vật lý, dịch vụ Firewall Anti DDoS, SSL… Với 10 năm xây dựng và phát triển, ứng dụng nhiều công nghệ hiện đại, Vietnix đã giúp hàng ngàn khách hàng tin tưởng lựa chọn, mang lại sự ổn định tuyệt đối cho website của khách hàng để thúc đẩy việc kinh doanh đạt được hiệu quả và thành công.

Kết nối với mình qua

NHỮNG CÂU HỎI THƯỜNG GẶP VỀ DỊCH VỤ TẠI VIETNIX

Để có thể gửi ticket yêu cầu hỗ trợ đến các phòng ban của Vietnix, trước hết bạn cần đăng nhập vào hệ thống portal tại đường link: https://portal.vietnix.vn/.
Sau đó vào phần Hỗ trợ > Chọn Gửi yêu cầu > Lựa chọn phòng ban mà bạn muốn gửi yêu cầu > Nhập nội dung cần hỗ trợ và nhấn Gửi.

Chúng tôi sẽ tiếp nhận và phản hồi ngay khi nhận được yêu cầu từ Quý Khách Hàng. Bạn có thể xem hướng dẫn chi tiết cách gửi ticket tại đây.
Nếu bạn còn vấn đề gì thắc mắc, hãy liên hệ đến hotline 1800 1093 để được hỗ trợ giải đáp nhanh chóng.

Vietnix có riêng đội ngũ tư vấn và hỗ trợ kỹ thuật chuyên nghiệp giúp khách hàng giải quyết được các vấn đề phát sinh một cách nhanh gọn nhất, không làm ảnh hưởng đến hiệu suất công việc. Đội ngũ nhân viên của chúng tôi với kinh nghiệm và trình độ chuyên môn cao sẵn sàng hỗ trợ khách hàng 24/7, mang đến cho khách hàng trải nghiệm tốt nhất khi sử dụng dịch vụ tại Vietnix.

Đảm bảo an toàn và bảo mật thông tin của Quý khách hàng là nhiệm vụ Vietnix luôn đặt lên hàng đầu. Chúng tôi sẽ không xâm phạm vào thông tin và dữ liệu của khách hàng khi chưa được cho phép. Vietnix cam kết không chia sẻ thông tin khách hàng dưới bất kỳ hình thức nào cho bên thứ ba. Mọi hoạt động sẽ tuân thủ đúng pháp luật, điều khoản hợp đồng và Chính sách bảo mật thông tin của chúng tôi.

Vietnix có hệ thống các kênh liên lạc đa dạng giúp bạn dễ dàng kết nối được với chúng tôi. Bạn có thể liên hệ với Vietnix qua Fanpage Facebook, Livechat, Ticket, Email,… Ngoài ra, trong trường hợp cần hỗ trợ nhanh chóng, bạn có thể gọi đến hotline: 1800 1093 – 07 088 44444 để được giải quyết kịp thời.

Tại Vietnix, chúng tôi hỗ trợ việc hoàn tiền trong vòng 30 ngày kể từ khi dịch vụ của quý khách được kích hoạt trên hệ thống (không tính thời gian dùng thử dịch vụ), ngoại trừ các dịch vụ: Domain, SSL, License.

– Đối với các dịch vụ Hosting, VPS: Hoàn tiền 100% trong vòng 07 ngày kể từ ngày đăng ký dịch vụ. Sau 07 ngày hoàn lại số tiền tương ứng sau khi đã trừ đi số tiền dịch vụ đã được sử dụng theo ngày.

– Đối với các dịch vụ Server, Colocation: hoàn lại số tiền tương ứng sau khi đã trừ đi số tiền dịch vụ đã được sử dụng theo ngày.

Quý khách có thể xem nội dung chi tiết tại Chính sách hoàn tiền của Vietnix.

Xem tất cả câu hỏi