URL 識別重寫請求

2021-09-11 18:00:39 字數 755 閱讀 2784

現在很多php程式都使用了url重寫技術來優化url,但是有時候我們要在php程式中區分預設url的請求和url重寫後的請求,這該如何處理呢?

我的解決方案是在常量$_server裡面找答案,在不同的伺服器中$_server都會有乙個索引用來記錄重寫請求訪問重寫之前的路徑,部分主流伺服器的索引如下

apache2 -> $_server['request_uri』] 或 $_server['redirect_url']

nginx -> $_server['request_uri』]

因此得出的結果是,只要判斷 http_x_original_url, http_x_rewrite_url, request_uri, redirect_url 這些引數,我們就可以在php中來判斷請求url來自於重寫位址的還是預設格式的位址了。

注:關於url重寫

url 重寫是擷取傳入 web 請求並自動將請求重定向到其他 url 的過程。

比如瀏覽器發來請求hostname/101.aspx ,伺服器自動將這個請求中定向為http://hostname/list.aspx?id=101。

url重寫的優點在於:

縮短url,隱藏實際路徑提高安全性

易於使用者記憶和鍵入。 

易於被搜尋引擎收錄

慎用url重寫

為了使 url位址更加友好 當然可能有別的原因 很多站點使用了 url重寫,如http www.cnblogs.com life,在asp.net中通常要處理這樣的 url重寫,必須在iis中將 對映到aspnet isapi.dll c windows microsoft.net framewor...

url重寫技術

注釋掉 條目,以使用 http 模組執行重寫 注釋掉 條目,以使用 http 處理程式執行重寫。除了指定使用 http 模組還是 http 處理程式執行重寫外,web.config 檔案還包含重寫規則 重寫規則由兩個字串組成 要在被請求的 url 中查詢的模式 要替換此模式的字串 如果找到 在 we...

慎用url重寫

為了使url位址更加友好 當然可能有別的原因 很多站點使用了url重寫,如 http www.cnblogs.com life,在asp.net中通常要處理這樣的url重寫,必須在iis中將 對映到aspnet isapi.dll c windows microsoft.net framework ...