Tôi đang sử dụng đoạn mã htaccess
sau để tôi có thể ẩn index.php
từ URI.Viết lại URL của Codeigniter
RewriteEngine on
RewriteCond $1 !^(index\.php|resources|assets|robots\.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L,QSA]
Nhưng tôi phải đối mặt với một vấn đề lớn :(
Tôi có một thư mục có tên assets
bên cạnh tập tin index.php
của tôi và nó nên có mặt ở đó. Khi tôi duyệt thư mục theo trình duyệt, sau đó CodeIgniter của không tìm thấy trang màn hình. tôi không thể duyệt các tập tin /assets/image.jpg
nhưng nó sẽ hiển thị khi tôi gọi nó từ một thẻ <img>
tôi có thể làm gì bây giờ?
Lưu ý rằng nó đang hoạt động trên máy chủ cục bộ của tôi (localhost
) nhưng không hoạt động trong máy chủ trực tiếp.
Bạn có nghĩa là bạn chưa chuyển vào thư mục hệ thống bên ngoài của thư mục nào? Điều gì sẽ xảy ra khi bạn (hoặc quản trị viên của bạn) vô hiệu hóa AllowOverride? CI có hủy bỏ lộn xộn trên tất cả các tệp của họ, nhưng bạn đã xác minh rằng các tệp của mình có an toàn làm điểm truy cập cho người dùng không? Chỉ cần di chuyển thư mục hệ thống đến thư mục gốc và có một thư mục công cộng riêng biệt. – coreyward
Có điều đó đúng và tôi đã di chuyển thư mục hệ thống của mình trên máy chủ sản xuất của mình. –