2011-01-19 153 views
2

我可以用'mkiisdir'創建一個虛擬目錄,但它僅在默認網站下創建。用南特在特定網站下創建虛擬目錄

使用IISServer屬性,它可以在我的測試環境中正常工作,但不能在Production env中正常工作。

方案1(試驗ENV)

  1. IIS 2個網站,1上80 &其他託管在88
  2. 使用屬性IIServer = '本地主機' & 端口= '88' ,它創建正確的網站下的虛擬目錄

方案2(生產ENV)

  1. IIS有2個網站,1個託管在80上 &其他也在80上,但有一個不同的主機頭。

我應該爲IISServer &端口使用什麼值,以便使用主機頭在網站下創建虛擬目錄。

回答

0

指定iisserver參數,並確定你的網站是主機名:端口組合

<mkiisdir iisserver="host:port" dirpath="c:\siteroot\test" vdirname="Test" /> 
+1

這個工作時,你有不同港口的網站 – Miral 2011-01-19 14:04:37

-1

您可以指定網站作爲參數傳遞給mkiisdir

<mkiisdir iisserver="host" website="${project.service.iiswebsite}" " dirpath="c:\siteroot\test" vdirname="Test"/> 

應該正常工作

2

我知道這個帖子是非常古老的,但我們最近遇到了同樣的問題。如果您使用的是IIS 7(或更高版本),那麼可以採用解決方法。您可以使用IIS 7附帶的AppCmd.exe執行許多不同的操作,以您的情況在不同網站下創建應用程序。

您可以創建一個樣本南特任務(宏):

<Install.App websiteName="SomeOtherWebsite" vdir="/MyApp" physicalPath="C:\apps\myapp" appPool="MyAppPool" /> 

這將創建一個名爲應用程序「MyApp的

<macrodef name="Install.App"> 
    <attributes> 
     <attribute name="websiteName" default="Default Web Site" /> 
     <attribute name="vdir" /> 
     <attribute name="physicalPath" /> 
     <attribute name="appPool" default="DefaultAppPool" /> 
    </attributes> 

    <sequential> 
     <exec program="c:\windows\System32\InetSrv\appcmd.exe" workingdir="${project::get-base-directory()}" verbose="true" failonerror="false" > 
     <arg value="ADD"/> 
     <arg value="APP" /> 
     <arg value="&quot;/site.name:${websiteName}&quot;"/> 
     <arg value="/path:${vdir}" /> 
     <arg value="/physicalPath:${physicalPath}" /> 
     <arg value="/apppool.name:${appPool}" /> 
     </exec> 

    </sequential> 
    </macrodef> 

然後,你可以簡單地用這樣的稱呼它「在該服務器上的」SomeOtherWebsite「網站內。

這會創建一個應用程序,但您也可以通過將<arg value="APP" />更改爲<arg value="VDIR" />來創建普通虛擬目錄。欲瞭解更多信息和選項,您可以read more here

我希望能幫助一些其他人也陷入同樣的​​位置!

相關問題