URL重寫

此条目没有列出任何参考或来源。 (2022年7月31日)
維基百科所有的內容都應該可供查證。请协助補充可靠来源以改善这篇条目。无法查证的內容可能會因為異議提出而被移除。

|

URL重寫（英語：URL Rewriting）是一種REST的相關技術，它可以在Web Server中，針對使用者所提供的URL進行轉換後，再傳入Web Server中的程式處理器。

## 範例

[编辑]

最常見的用法，就是將一組URL階層字串，轉換成帶有查询字符串(query string)的URL，或是反向轉換，例如： http://www.somebloghost.com/Blogs/Posts.php?Year=2006&Month=12&Day=10

經過URL重寫後，可以變成：

http://www.somebloghost.com/Blogs/2006/12/10/

另一個例子，下面的URL：

http://www.somehost.com/Blogs/2006/12/

經過URL重寫後，可轉換成：

http://www.somehost.com/Blogs.aspx?year=2006&month=12

因此，使用者可以使用較直覺的方式來輸入URL（這也是REST的主要目的），是搜尋引擎最佳化（SEO）的作法之一。而應用程式開發者可以利用這個機制來將參數隱藏起來，可避免讓網路上的惡意使用者收集到有利於發動攻擊的資訊。

## 支援URL Rewriting的處理引擎

[编辑]

### Apache HTTP Server

[编辑]

* mod_rewrite （页面存档备份，存于互联网档案馆），Apache官方的URL Rewriting模組
* mod_alias（页面存档备份，存于互联网档案馆），Apache 1.3的URL別名模組

### Microsoft Internet Information Server (IIS)

[编辑]

* URL Rewrite Module for IIS 7.0，由微軟官方發展
* IIS Mod-Rewrite。
* IISRewrite。
* ISAPI_Rewrite （页面存档备份，存于互联网档案馆）。
* URL Replacer （页面存档备份，存于互联网档案馆）。
* Ionic's ISAPI Rewrite Filter (IIRF)，無須 .NET，免費的開放原始碼元件。
* .NET URL Rewriter and Reverse Proxy，免費的 URL Rewriting 與反向代理元件，支援 .NET 2.0/3.5，IIS 6.0/7.0。
* VirtualUrl.NET。
* UrlRewriter.NET （页面存档备份，存于互联网档案馆），免費的開放原始碼元件，支援.NET 1.1/2.0。
* URLRewriting.NET，免費的開放原始碼元件，ASP.NET 2.0適用。
* VirtualUrl.NET for ASP.NET 2。

### J2EE Servlet

[编辑]

* HttpRedirectFilter （页面存档备份，存于互联网档案馆）（開放原始碼）。
* UrlRewriteFilter （页面存档备份，存于互联网档案馆）（開放原始碼-BSD）。

### Lighttpd (lighty)

[编辑]

* mod_rewrite （页面存档备份，存于互联网档案馆）（lighttpd是一套開放原始碼的網頁伺服器）。

### Nginx

[编辑]

## 參考資料

[编辑]

## 參见

[编辑]

* REST
* URL
* J2EE
* ASP.NET
* 縮址

## 外部連結

[编辑]

* ASP.NET: URL Rewriting （页面存档备份，存于互联网档案馆）
* apache mod_rewrite - URL Rewriting
* Java Servlet: URL Rewriting （页面存档备份，存于互联网档案馆）

* 查
* 论
* 编

網頁技術與標準

文档呈现语言|

* HTML*（HTML5*）
* XHTML*
* XML*
* XForms*
* DHTML

样式格式描述语言|

* CSS*
* XSL*

动态网页技术|

* CGI
* FastCGI
* ASP
* ASP.NET
* ColdFusion
* JSP
* Perl（PSGI）
* Python（WSGI）
* Ruby
* Smalltalk
* PHP

用戶端互動技术|

* JavaFX
* AJAX（XMLHTTP*）
* WebSocket*
* ActionScript（Flash
* Flex
* AIR）
* Asm.js
* NaCl
* WebAssembly*
* ActiveX
* Java applet

用戶端手稿語言|

* ECMAScript（JavaScript，JScript）
* VBScript

标识定位语言|

* URL
* URI
* XPath
* URL重寫

文档纲要语言|

* DTD*
* XML Schema*

* 代表由W3C制定和维护的标准与规范
*[查]: 查看该模板
*[论]: 讨论该模板
*[编]: 编辑该模板