asp.net : UrlRewrite

แนะนำ สอบถาม ภาษา C สำหรับผู้เริ่มต้น ภาษา Java ภาษา Python

Moderator: mindphp, ผู้ดูแลกระดาน

ภาพประจำตัวสมาชิก
jataz2
PHP Super Member
PHP Super Member
โพสต์: 275
ลงทะเบียนเมื่อ: 22/02/2011 11:48 am

asp.net : UrlRewrite

โพสต์ที่ยังไม่ได้อ่าน โดย jataz2 »

เพื่อนๆที่เขียน php อยู่เเล้วคงมี tools หรือ object ที่ไว้ rewriteurl อยู่เเล้วนะครับ
ส่วนชนกลุ่มน้อย แบบผมที่เขียน .net ก็พอมีทางรอดครับ ด้วยการใช้ UrlRewritingNet.UrlRewriter.dll

ผลลัพท์การ rewrite url ถ้า config ตามในข้อ 3 จะประมาณนี้ครับ
url: http://localhost/URLRewriting/this-is-a-long-page-name
หน้าจริง: http://localhost/URLRewriting/longpage.aspx


อีกตัวอย่างครับ
url: http://localhost/URLRewriting/product5638.aspx
หน้าจริง: http://localhost/URLRewriting/search.aspx?id=5638


วิธี config มีดังนี้ครับ
1. ไปดาว์นโหลด UrlRewritingNet.UrlRewriter.dll ที่ http://sourceforge.net/projects/urlrewriter/files/ เลือกตัวที่เป็น .net นะครับ

2. จากนั้นก็ add reference : UrlRewritingNet.UrlRewriter.dll เข้าสู่ project ของท่าน

3. ที่ web.config ให้ใส่ค่าตามนี้ครับ

โค้ด: เลือกทั้งหมด

<?xml version="1.0"?>
<configuration>
  <configSections>
    <section name="urlrewritingnet" requirePermission="false"  type="UrlRewritingNet.Configuration.UrlRewriteSection, UrlRewritingNet.UrlRewriter"  />
  </configSections>

  <urlrewritingnet
    rewriteOnlyVirtualUrls="true"
    contextItemsPrefix="QueryString"
    defaultPage="default.aspx"
    defaultProvider="RegEx"
    xmlns="http://www.urlrewriting.net/schemas/config/2006/07" >
    <rewrites>
      <add name="this-is-a-long-page-name"  virtualUrl="^~/this-is-a-long-page-name"
            rewriteUrlParameter="ExcludeFromClientQueryString"
            destinationUrl="~/longpage.aspx"
            ignoreCase="true" />

      <add name="Product-Search-uk"  virtualUrl="^~/Product-Search-uk"
            rewriteUrlParameter="ExcludeFromClientQueryString"
            destinationUrl="~/search.aspx"
            ignoreCase="true" />

      <add name="submit-your-company"  virtualUrl="^~/submit-your-company"
            rewriteUrlParameter="ExcludeFromClientQueryString"
            destinationUrl="~/submit_company.aspx"
            ignoreCase="true" />

      <add name="this-is-my-site-blog"  virtualUrl="^~/this-is-my-site-blog"
            rewriteUrlParameter="ExcludeFromClientQueryString"
            destinationUrl="~/blog.aspx"
            ignoreCase="true" />

      <add name="contact-my-company"  virtualUrl="^~/contact-my-company"
            rewriteUrlParameter="ExcludeFromClientQueryString"
            destinationUrl="~/contact.aspx"
            ignoreCase="true" />

      <add name="Product-Search-uk-partnumber"  virtualUrl="^~/product(.*).aspx"
           rewriteUrlParameter="ExcludeFromClientQueryString"
           destinationUrl="~/search.aspx?id=$1"
           ignoreCase="true" />
    </rewrites>
  </urlrewritingnet>

  <appSettings/>
  <system.web>
    <customErrors mode="Off">
    </customErrors>
    <httpModules>
      <add name="UrlRewriteModule" type="UrlRewritingNet.Web.UrlRewriteModule, UrlRewritingNet.UrlRewriter" />
    </httpModules>
    <compilation debug="true" />
  </system.web>
</configuration>
เข้าไปโหลดตัวอย่างที่นี่ครับ: http://blog.xploiter.com/c-and-aspnet/u ... lrewriter/
แนบไฟล์
URL Rewriting.zip
demo project ครับ
(18.17 KiB) ดาวน์โหลดแล้ว 256 ครั้ง

ผู้ใช้งานขณะนี้

สมาชิกกำลังดูบอร์ดนี้: ไม่มีสมาชิกใหม่ และบุคลทั่วไป 108