
June 27, 2010 02:09 by
Mikie
მე მგონი ნებისმიერ ვებ გვერდს დაამშვენებს ლამაზად გაფორმებული და კითხვადი URL რომელიც გადასაგზავნადაც ადვილი იქნება და ნებისმიერი ინტერნეტის მომხმარებლისათვის უფრო გასაგები.
მაგალითად: ხშირად შეგვიმჩნევია ვებ ბროუზერის Address Bar - ში რომ წერია ასეთი მისამართი
http://domain.com/default.aspx?userid=142532&location=gallery&page=3
ყველა დამეთანხმება, რომ მეტად შეუხედავი სტრიქონია და შესაძლებელია მის მაგივრად დაიწეროს ბევრად უფრო UserFriendly მისმარათი.
საქმე არა მხოლოდ იმაშია რომ ზედა ჩანაწერი უხეშია, შეუხედავია და იმიტომ მოითხოვს გადაწერას, არამედ აქ მეტნაწილად ვებ გვერდის დაცულობის საკითხზეც არის საუბარი. პირველ რიგში ყველა დამეთანხმება,
რომ უმჯობესია გარე მომხმარებელი ვერ ხედავდეს ჩემი ვებ გვერდის სტრუქტრურას და მაინც და მაინც საქმის კურსში არ იყოს თუ რა პარამეტრები მჭირდება მე იმისთვის, რომ დავუხატო გვერდი ბროუზერში.
ASP.NET ტექონოლოგია ამ სამუშაოს შესასრულების ბევრ ვარიანტს გვთავაზობს და აგრეთვე ინტერნეტში მოიძიება ჩვეულებრივი დეველოპერების მიერ დაწერილი ბიბლიოთეკები რომლებიც ამას აკეთებენ.
თავად მეც დამეხარჯა დრო იმაზე, რომ მომეძია მეტად მარტივი და სწორი გამოსავალი ამ საკითხის გადასაწყვეტად, რომელიც ჩემის აზრით არის IIS - ის ერთ ერთი მოდული URL Rewrite Module
რომელიც არის აბსოლუტურად უფასო, ინსტალირდება თქვენს windows - ის მანქანზე და არსებობს როგორც x86 ასევე x64 ვერსია
Rewrite module for x86
Rewrite module for x64
მოდულის ინსტალაციის შემდეგ IIS Manager - ში ყოველ ვებ საიტს გამოუჩნდება ერთი დამატებითი კომპონენტა
URL Rewrite
დავამატოთ, ასე ვთქვათ, "ახალი წესი" New Rule და გადავწეროთ ჩვენი URL
http://domain.com/default.aspx?userid=142532&location=gallery&page=3
უფრო ლამაზ ფორმატში
http://domain.com/user/admin/gallery/3
როგორც ჩანს საბოლოო ჯამში ჩვენთვის სასურველ ინფორმაციას მაინც GET მეთოდით ვიღებთ, ასე რომ მისი დამუშავებ არანაირ პრობლემას არ წარმოადგენს
და გარდა ამისა, URL Rewriter - ის ყოველი "წესი" ინახება web.config - ში
<system.webServer>
...
<rewrite>
<rules>
<rule name="MyRewriter">
<match url="^user/(\w+)/(\w+)/*(\/)*(\d+$)*" />
<action type="Rewrite" url="default.aspx?username={R:1}&location={R:2}&page={R:4}" />
</rule>
</rules>
</rewrite>
</system.webServer>
ამიტომ ახალ აპლიკაციის ახალ ჰოსტზე გადასვლა არანაირ პრობლემას არ შეუქმნის საიტის ფუნქციონალობას თუ სერვერზე დაინსტალირებულია URL Rewriter - ის მოდული.
ყველაფერი რომ უფრო ნათელი იყოს, ავტვირთავ პატარა მაგალითს.
example.rar (2.68 kb)
URL Rewriter მოდულის შესახებ გაცილებით უფრო დეტალური ინფორმაცია შეგიძლიათ იხილოთ შემდეგ მისამართზე:
http://learn.iis.net/page.aspx/734/url-rewrite-module/
f3d6eaa2-b9b0-4c4c-93ca-8288be0d64ca|2|5.0