任何人都知道在coldfusion 11中创建动态子域的方法,而无需将它们添加到dns服务器中吗?
我希望每次登录我的系统时,都能在每个客户端的个性化子域中重定向。
ex: client1.example.com client2.example.com
答案 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
尝试删除现有绑定。