thinkphp等入口文件在public目录的设置方法

我司的虚拟主机站点都是默认的wwwroot目录,并不支持自定义修改,但现在越来越多的thinkphp程序框架把程序入口放在public目录,导致并不能正常运行,针对这种情况,我司主动调整支持将目录切换为public目录,目前linux支持修改,windows系统暂时还不支持。

linux系统主机可以在主机控制面板点击【切换主站目录】进行操作,如下图所示:

image.png

image.png


windows系统可以按以下方法操作:

在主机控制面板点击【设置首页】,将首页设置为public/index.php,并放在第一位置上。

image.png

由于还涉及到伪静态方面的问题,有些应用配置可能不适用,需要添加对应的伪静态规则。

IIS7下伪静态规则:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
      <rewrite>
        <rules>
          <rule name="public" stopProcessing="true">
             <match url="^(.*)$" ignoreCase="false" />
             <conditions logicalGrouping="MatchAll">
               <add input="{URL}" pattern="^/public/" ignoreCase="false" negate="true" />
             </conditions>
             <action type="Rewrite" url="/public/{R:1}" />
         </rule>
        </rules>
     </rewrite>
    </system.webServer>
</configuration>

保存命名为web.config,上传到网站wwwroot目录。

有些程序路由规则复杂,设置可能还是会有加载问题,可以考虑将主机升级更换为linux系统,或者 提交工单我们进行核实。





日期:2018-10-24

打印 】