2008-12-17 69 views
1

我有一個需要更改的coldfusion網站。對此環境不瞭解或有經驗(我知道ASP.NET)。我需要做的就是根據頁面的引用值(URL)編寫條件,並在某些情況下重定向到另一個頁面。 任何人都可以給我一個執行此操作的語法的例子嗎?如何根據ColdFusion中的引薦重定向

回答

5

所有其他示例都可以工作......如果您希望根據外部站點的引用重定向,則可能需要檢查CGI.HTTP_REFERER。查看其他幾個選項的CGI範圍。

<cfif reFindNoCase('[myRegex]',cgi.http_referer)> 
    <cflocation url="my_new_url"> 
</cfif> 

...我的示例使用正則表達式搜索(reFind()reFindNoCase())檢查參考網址...但你也可以用/取決於(使用listContainsNoCase())檢查它作爲一個列表作爲分隔符是什麼您正在尋找。

+0

請確保你的示例代碼前面加了四個空格,否則它不顯示。 另請注意,在CGI規範中,引用者被拼錯爲HTTP_REFERER – 2008-12-17 18:08:30

1

沒有做過的ColdFusion一小會兒,但:

<cfif some_condition_based_on_your_url> 
    <cflocation url="http://where_your_referrals_go"> 
</cfif> 
<!--- continue processing for non-redirects ---> 
2

讓我們假設你的,你是在叫打手立足這個URL變量(http://yoursite.com?goOn=yes)那麼下面的代碼將工作:

<cfif structKeyExists(url, "goOn") AND url.goOn eq "yes"> 
    <cflocation url="the_new_url" addtoken="false"> 
</cfif> 

cflocation後不會發生任何事情。

0

動態版本。

<cfif isdefined("somecondition")> 
    <cfset urlDestination = "someurl"> 
<cfelseif isdefined("somecondition")> 
    <cfset urlDestination = "someurl"> 
. 
. 
. 
<cfelse> 
    <cfset urlDestination = "someurl"> 
</cfif> 

<cflocation url = urlDestination>