0

「バニティ」URL を使用して、会社のロゴが表示されたログイン ページにリダイレクトすることを検討しています。

URL は次のようになります。companyname.domain.com

まず、要求された URL に対してクエリを実行して、「companyname」が存在するかどうかを確認する必要があります。

  1. 存在する場合、カスタム ログイン ページを提供する - または -
  2. そうでない場合はエラーページを表示します。

本当の目的地は、実際には次のようなものになりますwww.domain.com/folder/。ここでも、アプリケーション全体で「バニティ」URL を表示する必要があります。例:

    companyname.domain.com/clients/?id=somevariable&...

ある程度の時間をかけて試行錯誤することで、おそらくそれを理解できると思います。しかし、独学の CF-er である私は、このタスクを実行するための「正しい方法」についてアドバイスを得ることができると考えました。

4

1 に答える 1

1

これが私が探していたものをやることになった方法です。すべての入力をありがとう。

まず、DNSAレコードを次のようにdomain.comゾーンに追加しました。*site-ip-address-here

<cfscript> 
    siteDomainName = cgi.http_host;
    if (ListLen(siteDomainName, '.') gt 2) {
        siteDomainName = ListFirst(siteDomainName,'.');
    }
</cfscript>

<cfif siteDomainName NEQ "www">

    <cfquery name="qUrl" datasource="#dsn#">
        SELECT id, pre
        FROM table
        WHERE pre = <cfqueryparam value="#siteDomainName#" cfsqltype="cf_sql_varchar">
    </cfquery>

    <cfif qUrl.recordCount GT 0>
        <cflocation url="/folder/" addtoken="false">
    <cfelse>
        <cflocation url="http://www.domain.com/error.cfm" addtoken="false">
    </cfif>

</cfif>

どうすればもっとうまくできたのか、誰かコメントがあれば、私はいつも何か新しいことを学びたいと思っています。

于 2012-10-19T22:13:36.780 に答える