Tôi đang sử dụng.htaccess chỉ cho phép truy cập vào index.php và một thư mục
RewriteEngine On
RewriteRule ^.*$ ./index.php
để chuyển hướng tất cả lưu lượng trang web của mình thông qua index.php và để mã php của tôi có được REQUEST_URI và tuyến đường mỗi yêu cầu cho phù hợp.
Tôi muốn hạn chế quyền truy cập vào tất cả các file khác/thư mục ngoại trừ một trong đó sẽ chứa các file js, file css, hình ảnh vv
tôi thấy rằng để làm điều đó tôi có thể sử dụng:
Order deny,allow
Deny from all
<Files index.php>
Order Allow,Deny
Allow from all
</Files>
và sau đó có một tệp .htaccess khác trong thư mục công cộng để cho phép một số loại tệp nhất định.
Khi tôi điều hướng đến localhost/mysite/index.php, nó hoạt động tốt vì tệp index.php có thể truy cập được.
Nhưng đối với bất kỳ url nào khác, tôi nhận được 403, ví dụ/mysite/home/bị cấm mặc dù tôi dự kiến nó hoạt động bình thường.
Tôi có thể làm gì để có được hành vi mong đợi?
My tập tin đầy đủ .htacces là:
RewriteEngine On
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteRule ^.*$ ./index.php
Order deny,allow
Deny from all
<Files index.php>
Order Allow,Deny
Allow from all
</Files>
EDIT: Các /public/.htaccess hiện trông như thế này:
<Files ~ "\.(xml|css|jpe?g|png|gif|js|pdf)$">
Allow from all
</Files>
bạn có thể chỉ cho '/ công cộng/cũng .htaccess'? – anubhava
@anubhava Tôi đã chỉnh sửa câu hỏi để bao gồm cả quá. – ppp