动态子域名 - ColdFusion 11

时间:2015-07-15 10:47:37

标签: coldfusion subdomain wildcard-subdomain coldfusion-11

任何人都知道在coldfusion 11中创建动态子域的方法,而无需将它们添加到dns服务器中吗?

我希望每次登录我的系统时,都能在每个客户端的个性化子域中重定向。

ex: client1.example.com client2.example.com

1 个答案:

答案 0 :(得分:1)

如果您的网站托管在Windows IIS服务器中,则此方法有效。

如果您使用 IIS ,则以下内容可以为您提供帮助。使用循环和条件作为您的要求。

<!--- Provide you IIS SiteName --->
<cfset siteName = "Your IIS Site Name">
<!--- Your new domain address --->
<cfset newSiteBinding = "client2.example.com">
<!--- your port address --->
<cfset newSitePort = 80>
<cfset fileID = createUUID()>
<cfsavecontent variable="ex"><cfoutput>cd %windir%\system32\inetsrv
%windir%\system32\inetsrv\APPCMD set site /site.name: #siteName# /+bindings.[protocol='http',bindingInformation='*:#newSitePort#:#newSiteBinding#']</cfoutput>
</cfsavecontent>
<cffile  action = "write"
    file = "E:\#fileID#.bat"
    output = "#ex#"
/>

<cfexecute  name="E:\#fileID#.bat"
    arguments="/c set"
    variable="data"
    timeout="10" 
/>

<cffile  action = "delete"
    file = "E:\#fileID#.bat"
>

我们基本上做的是创建一个.bat文件并使用cfexecute执行它。请注意,您需要小心路径,因为服务器中的目录结构可能不同。

.BAT文件内容示例

cd %windir%\system32\inetsrv
%windir%\system32\inetsrv\APPCMD set site /site.name: example /+bindings.[protocol='http',bindingInformation='client2.example.com:80:*']

How the command works。请注意+上的/+bindings

这意味着添加新绑定并/-bindings尝试删除现有绑定。