Xem nhanh tài liệu :
Lệnh SetEnv If xác định các biến môi trường dựa trên các thuộc tính của yêu cầu. Thuộc tính được chỉ định trong đối số đầu tiên có thể là một trong ba điều sau:
Trường tiêu đề yêu cầu HTTP (xem RFC2616 để biết thêm thông tin về những điều này); ví dụ: Máy chủ, Tác nhân người dùng, Người giới thiệu và Ngôn ngữ chấp nhận. Một biểu thức chính quy có thể được sử dụng để chỉ định một bộ tiêu đề yêu cầu.
Vì vậy, chắc chắn có thể tạo một biến môi trường có điều kiện trên Hosttiêu đề. Có vẻ như bạn đang cố gắng sử dụng Refererhoặc Remote_Hosttiêu đề, không phải cái nào cũng chính xác là thứ bạn muốn (mặc dù về lý thuyết Referernên chứa giá trị của Hosttiêu đề trong hầu hết các trường hợp). Remote_Hostsẽ là tên máy chủ của ứng dụng khách thực hiện yêu cầu, không phải là tất cả những gì bạn muốn (và trong hầu hết các cấu hình sẽ không có sẵn, vì nó thường bị tắt tra cứu DNS vì lý do hiệu suất).
Hãy thử một cái gì đó như thế này:
SetEnvIf Host "www-dev\.example\.com" ENV=DEV
SetEnvIf Host "www-production\.example\.com" ENV=PRD
... và sau đó sử dụng $ _SERVER ['ENV'] để tạo một số nhánh logic
Nhưng cũng lưu ý rằng bạn chỉ có thể tham chiếu giá trị của Hosttiêu đề trực tiếp trong PHP mà không cần thông qua phương thức này; $_SERVER['HTTP_HOST']sẽ có chính xác những gì bạn muốn.