2015-06-15 29 views
1

Q & A - URL重寫檢測如何在Apache或IIS中檢測URL重寫的使用情況?

這是很簡單檢測的Apache 2.4或者IIS的URL重寫模塊是否被啓用,但是一個人如何去檢測改寫是否是實際上用過?

我個人做了一些四處尋找,找到一個解決方案,可以在兩個環境中,在他們的最新迭代中工作 - 但最終不得不自動排序服務器的變量,以找到未重寫的URL和一個重寫的URL。

回答

0

Q & A - URL重寫檢測

檢測是否進行了重寫在任何給定的請求實際上使用可以使用以下方法來實現:

function IsRewrite() 
{ 
    if(!empty($_SERVER['IIS_WasUrlRewritten'])) 
     return true; 
    else if(array_key_exists('HTTP_MOD_REWRITE',$_SERVER)) 
     return true; 
    else if(array_key_exists('REDIRECT_URL', $_SERVER)) 
     return true; 
    else 
     return false; 

} 

如果沒有使用URL重寫,上述變量根本不會被設置。根據Apache的版本,後兩個變量中至少有一個將被分配,並且在IIS下,列表中的第一個將被分配。