Trả lời: UrlRewriting là 1 thư viện giúp cho đường dẫn web trở nên gọn, thân thiện hơn, quan trọng là giúp 1 website SEO (tìm kiếm) tốt hơn
- Chưa dùng UrlRewriting thì 1 link có dạng: iif.vn/page.aspx?id=10
- Sau khi sử dụng UrlRewriting thì link là iif.vn/javascript/bien-mang
Bước 1: Thêm vào web.config
<urlrewritingnet configSource="App_Data\UrlRewriting_SAVE.xml" />
Bước 2: Thêm vào thư mục bin
file UrlRewritingNet.UrlRewriter.dll
Bước 3: Cấu hình file
<urlrewritingnet rewriteOnlyVirtualUrls="true" contextItemsPrefix="QueryString" defaultPage="" defaultProvider="RegEx" xmlns="http://www.urlrewriting.net/schemas/config/2006/07" >
<rewrites>
<add name="hoso_duan_ct" virtualUrl="^~/ho-so-du-an/([0-9]*)-([\w-]*)"
rewriteUrlParameter="ExcludeFromClientQueryString"
destinationUrl="~/noidung.aspx?id=$1"
ignoreCase="true" />
<add name="hoso_duan" virtualUrl="^~/ho-so-du-an"
rewriteUrlParameter="ExcludeFromClientQueryString"
destinationUrl="~/noidung_list.aspx?type=2"
ignoreCase="true" />
</rewrites>
</urlrewritingnet>
Giải thích urlrewritingnet:
^~/ho-so-du-an/([0-9]*)-([\w-]*)
([0-9]*)-([\w-]*)
destinationUrl="~/noidung.aspx?id=$1"
destinationUrl là file aspx vật lý truy cập đến.
([\w-] có nghĩa là url có dạng huong-dan-su-dung-url
Nếu không có dấu - thì sẽ lỗi
Nếu không muốn có dấu khác hãy đổi lại, ví dụ là dấu cách thì ([\w ]
1. Không gõ được ký tự đặc biết trong cấu hình UrlRewriting
<add name="hoso_duan_ct" virtualUrl="^~/ho-so-du-an/([0-9]*)-([\w-]*)"
rewriteUrlParameter="ExcludeFromClientQueryString"
destinationUrl="~/noidung.aspx?id=$1&type=$2"
ignoreCase="true" />
Dấu & sẽ lỗi, chuyển sang dấu &
Cách fix: destinationUrl="~/noidung.aspx?id=$1&$2"
2.Sử dụng nhiều tham số query UrlRewriting
<add name="lienhe_pheu" virtualUrl="^~/lien-he/([\w-]*)-([\w-]*)"
rewriteUrlParameter="ExcludeFromClientQueryString"
destinationUrl="~/lien-he/Default.aspx"
ignoreCase="true" />
Cách fix: ~/lien-he/([\w-]*)--([\w-]*) , không để cùng tham số kiểu chữ trên cùng 1 dài url
Nhưng có thể được với ~/ho-so-du-an/([0-9]*)-([\w-]*)
Cách chuyển hướng SEO 301
Cách này bạn không cần can thiệp đến code aspx
Chuyển từ http sang https
<add name="301_redirect"
virtualUrl="^http://tenmien.iif/(.*)"
rewriteUrlParameter="ExcludeFromClientQueryString"
destinationUrl="https://tenmien.iif/$1"
redirect="Domain"
redirectMode="Permanent" ignoreCase="true" />
Chuyển từ có ww sang không có www
<add name="301_redirect"
virtualUrl="^https://www.nhatthanh.net/(.*)"
rewriteUrlParameter="ExcludeFromClientQueryString"
destinationUrl="https://nhatthanh.net/$1"
redirect="Domain"
redirectMode="Permanent" ignoreCase="true" />
Cách sử dụng UrlRewriting trong asp.net