2011-12-08 19 views
5

Tôi muốn hợp quy hóa tên miền, từ bar.example.com thành www.example.com (cũng bất kỳ điều gì không phải là www.example.com). Trang web chạy IIS7.Viết lại Url IIS7 - Tôi có thể sử dụng stopProcessing = "false" với Quy tắc chuyển hướng không?

Vấn đề là URL nhất định là có dạng http://bar.example.com/asp/oldpage.asp?query=awesome, và có những quy định ghi đè URL cụ thể đã ở nơi đó chuyển hướng đến http://www.example.com/newpage/awesome

Tôi muốn viết một quy tắc mà bắt các quy tắc khác.

Ở đây MỤC: Tôi có quy tắc và muốn đặt quy tắc này vào thư mục gốc của trang web, nhưng có thêm quy tắc ghi đè/chuyển hướng trong thư mục con, vì vậy tôi muốn trì hoãn 301 từ xảy ra cho đến khi tất cả các quy tắc đã được chạy.

Điều này có khả thi không? Viết lại có một tùy chọn để trì hoãn (stopProcessing = "false") nhưng điều này dường như không phải là một tùy chọn cho Chuyển hướng.

Tôi có SOL ở đây không?

Trả lời

6

Thật không may, tôi có thể xác nhận rằng xử lý hoãn lại (stopProcessing="false") chỉ hoạt động với các tác vụ viết lại và bị bỏ qua bởi các hành động chuyển hướng.

Nếu số lượng kết quả phù hợp nhỏ - nhưng không, theo câu hỏi của bạn - tôi đã đề nghị bạn kết hợp chúng bằng cách sử dụng phép thay thế regex. Ví dụ:

First match: ^first/a$ 
Second match: ^second/b$ 

Combined match: ^(first/a|second/b)$ 

Dẫn đến một cái gì đó như:

<rule name="MyCombinedRule"> 
    <match url="^(first/a|second/b)$" /> 
    <action type="Redirect" url="http://www.example.com/third/c" /> 
</rule> 
+0

Là một lưu ý bổ sung, các thư mục con * có thể * xóa các quy tắc từ thư mục cha, nhưng điều đó có nghĩa là tôi cần phải sao chép các quy tắc để mỗi thư mục con. – Broam

Các vấn đề liên quan