Tôi đã mua một VPS chạy Ubuntu 20.04. Tôi còn khá mới đối với tất cả các công cụ lưu trữ và Linux và tôi đang gặp khó khăn trong việc thiết lập tình huống sau hoặc nếu điều này thậm chí có thể xảy ra:
Tôi có thư mục/var/www có nhiều thư mục con. Mỗi tổ chức một trang web.
Tôi muốn, nếu ai đó truy cập miền của tôi (ví dụ: mydomain.com), anh ta sẽ thấy thư mục /var/www/codeiginiter4/. Nhưng khi ai đó vượt quá mydomain.com/foldername, anh ta sẽ thấy nội dung của /var/www/foldername/.
Điều gì làm cho nó phức tạp hơn một chút:
CodeIgniter sử dụng .htaccess sau cho apache:
Viết LạiEngine Trên
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
Điều này áp dụng mydomain.com/foo cho mydomain.com/index.php/foo để định tuyến URL thân thiện với SEO CodeIgniter. Đối với nginx họ cung cấp
địa điểm / {
try_files $uri $uri/ /index.php$is_args$args;
}
Tôi đã làm cho nó hoạt động với
vị trí ~* ^/(nội dung|tệp|robot\.txt) { }
Nhưng tôi gặp vấn đề là bất kỳ nội dung nào bạn thêm sau mydomain.com/ sẽ định tuyến đến thư mục CodeIgniter của tôi thay vì các trang web khác trong các thư mục khác.
Từ sự hiểu biết của tôi try_files $uri $uri/ /index.php$is_args$args;
sẽ kiểm tra $uri
(một tệp), sau đó là một thư mục $uri/
đầu tiên, vì vậy nó sẽ phục vụ một thư mục nếu có, nhưng tôi luôn kết thúc ở trang CodeIgniter của mình.