Tôi đang thiết lập một cookie sẽ sử dụng quy tắc viết lại, và điều đó đang làm việc (giản thể vì lợi ích của ngắn gọn):Quy tắc ghi đè Apache: Cách kiểm tra tên máy chủ trong cookie?
RewriteCond %{QUERY_STRING} set_cookie=1 [NC]
RewriteRule .* http://%{HTTP_HOST}%{REQUEST_URI}?skip=1 [QSA,NE,NC,L,CO=test_%{HTTP_HOST}:tmp:%{HTTP_HOST}:5:/]
một này thiết lập một cookie với tên test_ {host_name}. Bây giờ tôi muốn đọc giá trị cookie đó yêu cầu tiếp theo. Tôi đã thử điều này (và một số biến thể), nhưng điều đó dường như không hoạt động.
RewriteCond %{QUERY_STRING} skip [NC]
RewriteCond %{HTTP_COOKIE} ^.*test_%{HTTP_HOST}=tmp.*$ [NC]
RewriteRule ^(.*)$ - [L]
Khi tôi được googling, tôi found an article rằng tuyên bố như sau:
Nếu bạn đang tự hỏi, "Tại sao không sử dụng% {HTTP_HOST} thay vì corz.org, tạo mã phổ biến?" , theo như tôi biết, không thể kiểm tra một biến máy chủ so với biến số khác bằng RewriteCond mà không sử dụng Tham khảo về nguyên tử và một số POSIX 1003.2+ Jiggery-Pokery nghiêm trọng.
Tôi đoán đó là vấn đề của tôi, nhưng tôi không biết cách giải quyết nó. Bất kỳ trợ giúp nào cũng được đánh giá rất cao.
Trân trọng, Joost.
Tại sao [F] thay vì [L]? – jberculo
Và điều này sẽ không phá vỡ nhiều cookie cùng một phần không? ví dụ. cookie subdomain.domain.com và domain.com đều khả dụng trên subdomain.com? để cookie có tên là test_subdomain.domain.com và test_domain.com với các giá trị khác nhau? – jberculo
Tôi không làm cho nó hoạt động. Tôi thực sự cần để có thể kiểm tra một cookiename chính xác, như nhiều có thể có mặt. Ngoài ra tôi cần phải có thể kiểm tra sự vắng mặt của cookie ... – jberculo