Tôi hy vọng có một cách để làm điều này với mod_rewrite và Apache, nhưng có lẽ có một cách khác để xem xét quá.Chỉ yêu cầu chuyển hướng nếu không tìm thấy tệp?
Trên trang web của tôi, tôi có các thư mục được thiết lập cho các phiên bản lại của trang web cho khách hàng. Nếu gốc web là /home/blah/www
, một thư mục khách hàng sẽ là /home/blah/www/clients/abc
. Khi bạn truy cập thư mục máy khách thông qua trình duyệt web, tôi muốn nó sử dụng bất kỳ tệp được yêu cầu nào trong thư mục máy khách nếu chúng tồn tại. Nếu không, tôi muốn nó sử dụng tệp trong gốc web.
Ví dụ: giả sử khách hàng không cần index.html
của riêng họ. Do đó, một số mã sẽ xác định rằng không có index.html
trong /home/blah/www/clients/abc
và thay vào đó sẽ sử dụng mã trong số /home/blah/www
. Hãy nhớ rằng tôi không muốn chuyển hướng máy khách đến gốc web bất kỳ lúc nào, tôi chỉ muốn sử dụng tệp của web root với tên đó nếu thư mục máy khách chưa chỉ định bản sao của riêng nó. Trình duyệt web vẫn nên trỏ đến /clients/abc
cho dù tệp tồn tại ở đó hay trong thư mục gốc. Tương tự như vậy, nếu có yêu cầu cho news.html
trong thư mục ứng dụng khách và hiện có tồn tại ở đó, thì chỉ cần phân phát tệp đó thay vì số news.html
của web root. Trải nghiệm của người dùng phải liền mạch.
Tôi cần điều này để làm việc cho các yêu cầu trên bất kỳ tên tệp nào. Ví dụ: nếu tôi cần, hãy thêm một dòng mới vào .htaccess
cho mọi tệp tôi có thể muốn chuyển hướng, thay vì đánh bại mục đích là có quá nhiều bảo trì cần thiết và cơ hội tốt cho các lỗi được cung cấp cho số lượng tệp lớn.
Trong ví dụ của bạn, vui lòng cho biết liệu mã của bạn có nằm trong tệp .htaccess trong thư mục ứng dụng hoặc gốc web hay không. Web root được ưu tiên.
Có vẻ quá ngắn để làm những gì tôi muốn. Bạn có thể giải thích logic một chút được không? Cảm ơn! – DivideByHero