Với nginx, tôi đang cố thiết lập hai trang web tĩnh trên cùng một miền. đầu tiên là tại ví dụ.com
, và ứng dụng còn lại là một ứng dụng React nhỏ tại ví dụ.com/haiku
. Điều này có thể giải quyết như thế nào?
Tôi đang gặp sự cố trong đó tệp biểu định kiểu và tệp javascript cho ví dụ.com/haiku
đang được yêu cầu từ chính ví dụ.com
. Vì tất cả các URI tài nguyên trang đều bắt đầu bằng dấu gạch chéo (ví dụ: /static/style.css
), nginx đang xử lý chúng như thuộc về ví dụ.com
thay vì lấy chúng từ /haiku
.
Cả hai trang web chiếm các thư mục riêng biệt trên máy chủ. ví dụ.com
đang ở /srv/http/miền
, và ví dụ.com/haiku
đang ở /srv/http/haiku
Đây là phần thích hợp trong khối máy chủ nginx của tôi:
gốc/srv/http;
địa điểm / {
gốc/srv/http/miền;
}
địa điểm /haiku {
bí danh /srv/http/haiku;
}
Tôi đã thực hiện nghiên cứu của mình về các mô-đun nginx này và tôi hiểu tại sao nó không hoạt động ngay bây giờ. Điều hướng đến example.com/haiku/index.html
phục vụ trang, nhưng các tham chiếu của nó đến /static/css/style.css
và /static/js/main.js
đang đánh /
khối vị trí. Tôi cần một số loại viết lại nội bộ sẽ mất /static/css/style.css
và thay đổi nó thành /haiku/static/css/style.css
, vị trí của tệp. Tôi không tìm thấy câu hỏi tương tự trên Google hoặc SE.
Tôi biết rằng tôi có thể dễ dàng giải quyết vấn đề này bằng cách mua một miền khác. Tôi biết tôi cũng có thể thiết lập miền phụ nhưng tôi đặc biệt muốn biết liệu điều này có thể được thực hiện hay không bằng cách lồng một trang web tĩnh vào yêu cầu của một trang web khác mà không cần cấu hình DNS.
Tôi cũng không muốn chỉ thay đổi URI cho các tệp css và js, vì tôi muốn có thể triển khai ứng dụng React nhỏ này trên bất kỳ gốc khối máy chủ nào.