Tôi đang sử dụng mod_rewrite để định tuyến tất cả các yêu cầu tới index.php..htaccess bị bỏ qua khi sử dụng URI bí danh
cấu trúc thư mục của tôi là như sau:
/Users/Peter/Projects/Framework
/.htaccess
/index.php
Trong file .htaccess của tôi, tôi có như sau:
RewriteEngine on
RewriteCond $1 !^index\.php/
RewriteRule ^(.*)$ index.php/$1 [L]
này hoạt động tốt khi tôi ghé thăm projects.localhost/framework/example
.
Tôi cũng đã bí danh sau thành lập: Alias / ~ alias/Users/Peter/Dự án
Khi tôi hướng đến http://projects.localhost/~alias/framework/example
tôi nhận được một lỗi 404 và sau đây trong nhật ký lỗi của tôi: File does not exist: /Users/Peter/Projects/framework/example
Dường như tệp .htaccess không được gọi khi tôi sử dụng URL bí danh (nhập sai vào tệp .htaccess không kích hoạt bất kỳ loại lỗi nào khi sử dụng URL bí danh dường như để xác nhận điều này).
AllowOveride được đặt thành Tất cả.
Làm cách nào để nhận được .htaccess hoạt động khi sử dụng URL bí danh và có quy tắc viết lại áp dụng nhất quán bất kể URL (bí danh hoặc không bí danh)?
Chỉnh sửa: Điều hướng đến projects.localhost/~alias/framework/index.php/example
cũng hoạt động tốt, xác nhận rằng bí danh đang hoạt động đúng cách (ngoài việc không có quy tắc .htaccess được áp dụng cho nó).
Bí danh dường như bỏ qua các gốc bình thường, và do đó các tập tin .htaccess đặt ở đó. Bạn có thể đặt một tệp .htaccess khác trong thư mục '/ Users/Peter/Projects' – Gerben
Tôi đã thử đặt một tệp .htaccess trong thư mục dự án nhưng điều này cũng không ảnh hưởng đến URL bí danh. (Nó không ảnh hưởng đến url không có bí danh.) –