変更する必要のあるColdFusionWebサイトがあります。この環境についての考えや経験はありません(私はASP.NETを知っています)。ページの参照値(URL)に基づいて条件を記述し、場合によっては別のページにリダイレクトするだけです。誰かがこれを実行する構文の例を教えてもらえますか?
5 に答える
他のすべての例は機能します...また、外部サイトからの参照に基づいてリダイレクトする場合は、CGI.HTTP_REFERER を確認することをお勧めします。他のいくつかのオプションについては、CGI スコープを確認してください。
<cfif reFindNoCase('[myRegex]',cgi.http_referer)>
<cflocation url="my_new_url">
</cfif>
...私の例では、正規表現検索 (reFind()
または) を使用して参照 URL を確認しています...しかし、探しているものに応じて、( を使用して) 区切り記号としてreFindNoCase()
リストとして確認することもできます。/
listContainsNoCase()
これに基づいている URL 変数が goOn ( http://yoursite.com?goOn=yes ) と呼ばれていると仮定すると、次のコードが機能します。
<cfif structKeyExists(url, "goOn") AND url.goOn eq "yes">
<cflocation url="the_new_url" addtoken="false">
</cfif>
cflocation の後は何も起こりません。
しばらくの間、ColdFusionを実行していませんが、次のようになります。
<cfif some_condition_based_on_your_url>
<cflocation url="http://where_your_referrals_go">
</cfif>
<!--- continue processing for non-redirects --->
着信リクエストに関する情報を保持するCGI変数スコープがColdFusionにあります。次のことを試してください。
<cfif CGI.SCRIPT_NAME EQ 'index.cfm'>
<cflocation url="where you want it to redirect" />
</cfif>
CGIスコープ内で他に利用できるものを確認するには、以下を確認してください:http: //livedocs.adobe.com/coldfusion/8/htmldocs/Expressions_8.html#2679705
ダイナミックバージョン。
<cfif isdefined("somecondition")>
<cfset urlDestination = "someurl">
<cfelseif isdefined("somecondition")>
<cfset urlDestination = "someurl">
.
.
.
<cfelse>
<cfset urlDestination = "someurl">
</cfif>
<cflocation url = urlDestination>