0

多くのドメイン (www.vf1.com、www.vf2.com、www.vf3.com など) があり、それらはすべてメイン ドメイン (www.vf.com) を指しています。これらの他のドメインからメイン ドメインへの 301 リダイレクトを行うにはどうすればよいですか?

したがって、誰かが www.vf1.com/news/1234 にアクセスすると、www.vf.com/news/1234 にリダイレクトされます。

リダイレクトが不要な images.vf.com、css.vf.com、js.vf.com などのドメインもあります。

IIS で ColdFusion 8 を使用しています (ただし、現時点では IIS にアクセスできません)。

http://www.festivalreviews.co.uk/latest/news/14500などの URL で以下を試しましたが、http: //www.virtualfestivals.com/index.cfm にリダイレクトされます。

<cfif cgi.http_host IS 'www.festivalreviews.co.uk'>
    <cfset jjURL = 'http://www.virtualfestivals.com' & CGI.PATH_INFO>
    <cfheader statuscode="301" statustext="Moved Permanently">
    <cfheader name="Location" value="#jjURL#">
</cfif>

ありがとう

4

2 に答える 2

1

Adam に同意します。可能であれば、Web サーバーを使用して処理する方がよいでしょう。そうは言っても、私は過去に ColdFusion で同様のことをしなければなりませんでした。URL を再構築する必要がある場合、私は通常、あなたが試したものとは異なる CGI 変数を使用します。これがうまくいくかどうかを確認してください。

<cfif CGI.SERVER_NAME IS 'www.festivalreviews.co.uk'>
    <cfset jjURL = 'http://www.virtualfestivals.com' & CGI.SCRIPT_NAME>
    <cfif CGI.QUERY_STRING NEQ ''>
        <cfset jjURL = jjURL & '?' & CGI.QUERY_STRING>
    </cfif>
    <cfheader statuscode="301" statustext="Moved Permanently">
    <cfheader name="Location" value="#jjURL#">
</cfif>

CGI.SERVER_NAME- サーバーのホスト名、DNS エイリアス、または IP アドレス
CGI.SCRIPT_NAME- 実行中のスクリプトへの仮想パス
CGI.QUERY_STRING- ? に続くクエリ情報 このスクリプトを参照した URL で

CGI 変数の詳細については、こちらのドキュメントを参照してください。

于 2014-06-13T12:11:54.257 に答える
0

ColdFusion 8 以降、これらの種類のリダイレクトには <cflocation> を使用しています (CF8 で statusCode 属性が追加されたため)。

<cfif CGI.SERVER_NAME EQ 'www.festivalreviews.co.uk'>
    <cfset jjURL = 'http://www.virtualfestivals.com' & CGI.SCRIPT_NAME>
    <cfif CGI.QUERY_STRING NEQ ''>
        <cfset jjURL = jjURL & '?' & CGI.QUERY_STRING>
    </cfif>
    <cflocation url="#jjURL#" addtoken="no" statuscode="301">
</cfif>

<cflocation> ドキュメント: https://wikidocs.adobe.com/wiki/display/coldfusionen/cflocation

于 2014-06-14T22:09:36.023 に答える