Tôi phải nhận URL và thông số với SSI (chỉ với SSI), nhưng tôi không thể tìm thấy giải pháp nào.Nhận URL và thông số với SSI
Ví dụ: http://www.test.com/abc.html?data=something
Và tôi phải nhận được giá trị của tham số "dữ liệu".
Tôi phải nhận URL và thông số với SSI (chỉ với SSI), nhưng tôi không thể tìm thấy giải pháp nào.Nhận URL và thông số với SSI
Ví dụ: http://www.test.com/abc.html?data=something
Và tôi phải nhận được giá trị của tham số "dữ liệu".
<!-- set default value for SSI variable "data" -->
<!--#set var="data" value="" -->
<!-- get "data" value from URL -->
<!--#if expr="$QUERY_STRING = /data=([a-zA-Z0-9]+)/" -->
<!--#set var="data" value="$1" -->
<!--#endif -->
<!-- print the "data" value -->
<!--#echo var="data" -->
câu hỏi cũ mà tôi biết, nhưng tôi đã bắt gặp nó khi thực hiện một số nội dung SSI. Tôi chắc rằng bạn đã khắc phục sự cố của mình ngay bây giờ, nhưng nếu điều này không giúp bạn, có lẽ nó sẽ là một người khác. Tôi giả sử máy chủ là Apache. (Nếu không, thì tôi đoán điều này sẽ không hoạt động!)
Đầu tiên tuyên bố từ chối trách nhiệm! Tôi không có nghĩa là một apache, sed, hoặc chủ regex, vì vậy tôi chắc chắn những gì sau có thể được cải thiện, nhưng nó có thể là một sự khởi đầu. Nó chỉ in trang tương ứng với cơ sở của trang web và tham số của truy vấn dữ liệu.
<!--#echo var="DOCUMENT_URI" -->
<!--#exec cmd="echo '$QUERY_STRING' | sed -n 's/\([^&]*&\)*data=\([^&]*\).*/\2/p'" -->
Tôi tìm thấy một danh sách các biến môi trường apache here: http://www.zytrax.com/tech/web/env_var.htm, và để tìm hiểu những gì bạn có thể làm với công cụ này một khi bạn đã lấy nó look here: http://httpd.apache.org/docs/2.0/howto/ssi.html.
Đã chỉnh sửa để làm cho nó in không có gì thay vì toàn bộ chuỗi khi không tìm thấy thuộc tính dữ liệu.
Tôi sẽ thay đổi '/ data' thành'/\ bdata' ('\ b' là ranh giới từ) để tránh các biến phù hợp như' iamnotdata'. – Blazemonger
'/ \\ bdata' đã hoạt động đối với tôi – alekstrust