10/10/2018, 11:00
Giúp đỡ ý kiến về vấn đề URL rewrite trong asp.net
Chào các bạn. Mình biết vấn đề này đã bàn nhiều, nhưng mình không chắc hầu hết các newbie có thể hiểu hết được. Mình đọc đọc rất nhiều về các giải pháp về URL rewrite sao cho frienly với SEO. Nhưng vẫn không sao thực hiện được. Vấn đề gặp phải là nó không hiểu đường đường dẫn của CSS, Images, và sự kiện post back tự động quay lại url page ẩn.
Bạn nào có đã từng làm, có kinh nghiệm về cái này, cho một giải pháp tổng thể có thể chia sẽ được không?, step by step thì càng tốt.
vd: http://doanhnghiep.com/product.aspx?cat=15&id=105
Mình muốn chuyển URL thành là:
http://doanhnghiep.com/product/Linh-kien-May-tinh/HDD1
(Ung voi cat=15 la Linh-kien-May-tinh & id = 105 la HDD1
Mong các bạn giúp đỡ!
Trân trọng.
Bạn nào có đã từng làm, có kinh nghiệm về cái này, cho một giải pháp tổng thể có thể chia sẽ được không?, step by step thì càng tốt.
vd: http://doanhnghiep.com/product.aspx?cat=15&id=105
Mình muốn chuyển URL thành là:
http://doanhnghiep.com/product/Linh-kien-May-tinh/HDD1
(Ung voi cat=15 la Linh-kien-May-tinh & id = 105 la HDD1
Mong các bạn giúp đỡ!
Trân trọng.
Bài liên quan
http://doanhnghiep.com/product/Linh-...tinh/HDD1.aspx
=> Nếu bạn có quyền management IIS thì bạn dễ dàng có thể dễ dàng chuyển về dạng
http://doanhnghiep.com/product/Linh-...tinh/HDD1.html (hoặc .abc gì đó)
Còn nếu không thì http://doanhnghiep.com/product/Linh-...tinh/HDD1.aspx cũng là một friendly url for SEO rồi. Còn cách làm chi tiết do mình mới làm .net nên chỉ biết đại khái là viết một class để overwrite class IHttpModule, nhiệm vụ của cái class này là đọc setting url rewrite trong Web.Config (hoặc file config nào đó tùy bạn) và dispatch vào đúng file .aspx tương ứng, hoặc bạn có thể hỏi anh gồ để kiếm thêm thông tin
Regards!!!
[=========> Bổ sung bài viết <=========]
Mình có quyền trên IIS luôn.
[=========> Bổ sung bài viết <=========]
Nói thêm nữa là các link của mình có dạng:
1.http://abc.com/bcd/
2.http://abc.com/bcd/def/fgh
3.http://abc.com/bcd/abd-bcd-def.html
Chạy tốt hết trên localhost
Nếu bác đã dùng được Application_BeginRequest thì chuyển link sang dạng /gi-cung-duoc.aspx thì chắc chắn chạy được.
thân chào
[=========> Bổ sung bài viết <=========]
bác có quyền trên iis thì thử cài thằng này vào xem http://cheeso.members.winisp.net/IIRF.aspx
cài xong có thể dùng như trên Apache vậy đó
<img src="/images/abc.konku"> với thư mục Images nằm ở gốc domain là được.
URL reweite của Em có dạng như vầy:
1.http://abc.com/bcd/
2.http://abc.com/bcd/def/fgh
3.http://abc.com/bcd/abd-bcd-def.html
Có bác nói nên dùng HTTPModule để Rewrite chứ ko nên xài file Global, có ai biết tại sao không, Em dùng Global đang hoạt động rất tốt
Cái này thì dễ thôi
mình sẽ chỉ bạn cách dùng kỹ thuật này thông qua file dll nhé
file này có tên Intelligencia.UrlRewriter mình sẽ up file này lên cho bạn bạn cũng cần phải cấu hình file config nữa là ok cách cấu hình như sau:
<configSections>
<section name="rewriter" requirePermission="false" type="Intelligencia.UrlRewriter.Configuration.Rewr iterConfigurationSectionHandler, Intelligencia.UrlRewriter"/>
</configSections>
<rewriter>
<!--News-->
<rewrite url="/DetailNews/(.+).aspx" to="/NewsDetail.aspx?ID=$1"/>
<rewrite url="/New.aspx" to="~/News.aspx"/>
<rewrite url="/NewModulID/(.+).aspx" to="~/News.aspx?ModulID=$1"/>
<rewrite url="/DetailsNews/(.+)/(.*)/(.*).aspx" to="/NewsDetail.aspx?ID=$1&ModulID=$2"/>
</rewriter>
<system.web>
<httpModules>
<add name="UrlRewriter" type="Intelligencia.UrlRewriter.RewriterHttpModule , Intelligencia.UrlRewriter" />
</httpModules>
</system.web>
vậy là ok rùi còn để áp dụng vào thẻ Html
VD: <a href='<%#"/DetailsNews/"&Eval("Id")&"/"&Eval("ModulID")&".aspx"%>'>Test </a>
demo http://bancungtruong.com/ThreadsForum/72/34.aspx
Nếu có thể bác cho em xin 1 đoạn code mẫu bác nhé.
Email của em: sontv319@yahoo.com
Thanks bác trước.