IIS配置ThinkPHP重写

IIS10+ThinkPHP6:

根目录public下新建web.config

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 
 3 <configuration>
 4 <location path="." inheritInChildApplications="false">
 5     <system.webServer>
 6         <rewrite>
 7             <rules>
 8                 <rule name="OrgPage" stopProcessing="true">
 9                     <match url="^(.*)$" />
10                     <conditions logicalGrouping="MatchAll">
11                         <add input="{HTTP_HOST}" pattern="^(.*)$" />
12                         <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
13                         <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
14                     </conditions>
15                     <action type="Rewrite" url="index.php/{R:1}" />
16                 </rule>
17             </rules>
18         </rewrite>
19     </system.webServer>
20     </location>
21 
22 </configuration>
<location path="." inheritInChildApplications="false"></location>
标签在根目录解除子目录的继承,若没有虚拟目录只部署在根目录,则删除标签(只删第4、第20行)。

虚拟目录webconfig的配置

虚拟目录webconfig不变,用网上抄的。

另网上有另外解决:

2.在子目录对冲突的节点处理

根目录节点

1 <connectionStrings>
2     <add name="DBConnectionString" connectionString="Data Source=.;Initial Catalog=test;User ID=sa;Password=sa123" providerName="System.Data.SqlClient"/>
3   </connectionStrings>

子目录节点

1 <connectionStrings>
2     <clear/>
3     <add name="DBConnectionString" connectionString="Data Source=.;Initial Catalog=test;User ID=sa;Password=sa123" providerName="System.Data.SqlClient"/>
4   </connectionStrings>

在冲突的节点前先clear,清除之前的配置,然后再加载下面的配置就可以了,除了clear 还有remove也可以

 <connectionStrings>
    <remove name="DBConnectionString"/>
    <add name="DBConnectionString" connectionString="Data Source=.;Initial Catalog=test;User ID=sa;Password=sa123" providerName="System.Data.SqlClient"/>
  </connectionStrings>

这种配置方法可以用在所有的节点上,使用起来也比较灵活

 

posted @ 2021-09-16 10:11  浊鉴  阅读(293)  评论(0编辑  收藏  举报