Rewrite URL

Bách khoa toàn thư mở Wikipedia
Bước tới: menu, tìm kiếm
Tại Wikipedia và các site khác thuộc MediaWiki, xem MediaWiki Manual:Short URL.

rewrite url là một kỹ thuật cho phép ghi lại địa chỉ website (URL) từ dạng này thành một dạng khác (URL rewriting). Rewrite URLs (đôi khi gọi là short Urls, URL rewriting, hay fancy URLs) sử dụng để tạo ra một địa chỉ Web ngắn hơn và dễ nhìn hơn đối với trang Web. Kỹ thuật này được biết đến như một trong những thủ thuật nhằm tối ưu hóa địa chỉ cho các cỗ máy tìm kiếm (SEO URL)

Ví dụ[sửa | sửa mã nguồn]

URL sau có chứa chuỗi truy vấn liên quan đến Module, hàm và thứ tự bài viết:

http://www.example.com/Blogs/modules.php?name=News&op=viewst&sid=696

Nó có thể được viết như sau để người xem dễ hiểu hơn:

 http://www.example.com/Blogs/News/viewst/696.html 

Địa chỉ thứ 2 có thể cho phép người truy cập thay đổi giữa các cấp thư mục để xem các bài viết ở cấp cao hơn. Ví dụ URL sau cho phép người truy cập xem tất cả các bài viết

http://www.example.com/Blogs/News/

Một cách viết khác cho trường hợp

http://example.com/wiki/index.php?title=Page_title

thành

http://example.com/Page_title 

Tác dụng của Rewrite URL[1]:

  • Làm URL của trang web trở nên thân thiện và giúp tối ưu hóa công cụ tìm kiếm [2]
  • Ngăn chặn "liên kết nội tuyến" không mong muốn
  • Không để lộ (thông qua URL) hoạt động bên trong của một trang web trước người truy cập.
  • Các URL của các trang trên các trang web có thể được giữ ổn định ngay cả khi công nghệ nền tảng được sử dụng để phục vụ chúng thay đổi

Những nhược điểm [3]:

  • Trong một số trường hợp, viết Rewrite không khoa học có thể gây ra lỗi khi người sử dụng sửa đổi một URL để truy cập ở cấp cao hơn của Website. Xem ví dụ dưới đây:
Nếu sửa link
http://www.example.com/Blogs/News/viewst/696.html
thành
http://www.example.com/Blogs/News/viewst/
sẽ gây lỗi.
  • Việc tạo ra link ảo và thêm các thành phần phục vụ mục đích SEO có thể gây ra những rắc rối không lường trước [4].
  • Kỹ thuật này phải được áp dụng liên tục và lâu dài trên một website và chỉ nên thực hiện trên 1 site mới. Việc thay đổi có thể khiến Website rớt hạng thê thảm trên các công cụ tìm kiếm (tác dụng ngược của SEO).

Nền tảng Web[sửa | sửa mã nguồn]

Nhiều nền tảng web có hỗ trợ URL rewriting, bao gồm hỗ trợ trực tiếp hoặc sử dụng các module mở rộng.

From a software development perspective, URL rewriting can aid in code modularization and control flow [9], making it a useful feature of modern web frameworks.

Xem thêm[sửa | sửa mã nguồn]

Chú thích[sửa | sửa mã nguồn]

  1. ^ Many of these only apply to HTTP servers whose default behavior is to map URLs to filesystem entities (i.e. files and directories); certain environments, such as many HTTP application server platforms, make this irrelevant.
  2. ^ Công cụ rewrite cho website
  3. ^ Rewrite URL cho Website - kỹ thuật và bài học từ vụ lừa trên Dân Trí
  4. ^ Thông báo về URL giả mạo bài viết trên Dân trí
  5. ^ Microsoft Web Platform
  6. ^ Routes
  7. ^ Django URLconf
  8. ^ clean urls in Stripes 1.5
  9. ^ DocForge: Clean URL

Liên kết ngoài[sửa | sửa mã nguồn]

Apache[sửa | sửa mã nguồn]

  • mod_rewrite Apache module described as "the Swiss Army knife of URL manipulation".
  • Apache Rewrite Guide This document supplements the mod_rewrite reference documentation. It describes how one can use Apache's mod_rewrite to solve typical URL-based problems with which webmasters are commonly confronted.
  • mod_alias Simpler Apache module allow for manipulation and control of URLs as requests arrive at the server.

IIS (Microsoft Internet Information Services)[sửa | sửa mã nguồn]

Zeus Web Server[sửa | sửa mã nguồn]

Note: Unlike Apache, entering rewrite rules in an .htaccess file will not work. They must be entered in Zeus' proprietary Request Rewrite scripting language through the zeus server's admin panel, which creates a rewrite.script file and installs it into the server. Unless you have access to the main server administration interface, you will need to ask your hosting provider to implement your rule.

Java Platform, Enterprise Edition (Java EE) Servlet container servers (Apache Tomcat, Resin, Orion etc)[sửa | sửa mã nguồn]

  • HttpRedirectFilter (open source)
  • UrlRewriteFilter (open source - BSD) - allows you to rewrite URLs before they get to your code. Supports XML or mod_rewrite style config.