Iis ColdFusion多域重定向

Iis ColdFusion多域重定向,iis,coldfusion,http-status-code-301,coldfusion-8,cflocation,Iis,Coldfusion,Http Status Code 301,Coldfusion 8,Cflocation,我有很多域名(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的权限) 我尝试了下面的UR

我有很多域名(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的权限)

我尝试了下面的URL,例如,但它被重定向到



谢谢

我同意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\u NAME
-服务器的主机名、DNS别名或IP地址
CGI.SCRIPT\u NAME
-正在执行的脚本的虚拟路径
CGI.QUERY\u字符串
-查询下列信息?在引用此脚本的URL中

您可以在中阅读有关CGI变量的更多信息。

自ColdFusion 8以来,我使用(因为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>


文档:

我倾向于在HTTP服务器上处理HTTP内容,比如重定向,而不是通过CF。
<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>