最近主管说外包做优化,需要把官网相关的子栏目设置二级域名,在网上搜了很多资料,iis绑定二级目录、thinkcmf绑定二级目录资料很多,试了发现不能用,或者说很多错误,无奈只能看iis配置,自己动手配置,另外还有一种方式的把thinkcmf程序修改,生成静态文件,然后绑定子目录,不过这样的工程量有点大。
对于iis直接绑定子目录:
新建网站->绑定域名->绑定thinkcmf目录(伪静态没有文件夹,只能新建目录),结果完全不能访问,原有伪静态目录也报错,最后只能删了重新配置。
thinkcmf绑定二级目录:
网站的说法是新建入口文件,修改thinkcmf程序绑定模块。
最后还是选择修改网站规则来实现,具体代码如下:
#这是thinkcmf伪静态规则
<rule name="OrgPage" stopProcessing="true">
<match url="^(.*)$" />
<conditions logicalGrouping="MatchAll">
<add input="{HTTP_HOST}" pattern="^(.*)$" />
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
</conditions>
<action type="Rewrite" url="index.php/{R:1}" />
</rule>
#这是配置ls.xqf01.com域名所对应的子目录,注意rule名称需要修改
<rule name="ls" stopProcessing="true">
<match url="^(.*)$" />
<conditions logicalGrouping="MatchAll">
<add input="{HTTP_HOST}" pattern="^ls.xqf01.com$" />
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
</conditions>
<action type="Rewrite" url="index.php/ls{R:0}" />
</rule>
#这是配置kc.xqf01.com域名所对应的子目录,注意rule名称需要修改
<rule name="kc" stopProcessing="true">
<match url="^(.*)$" />
<conditions logicalGrouping="MatchAll">
<add input="{HTTP_HOST}" pattern="^kc.xqf01.com$" />
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
</conditions>
<action type="Rewrite" url="index.php/kc{R:0}" />
</rule>