thinkphp等入口文件在public目录的设置方法我司的虚拟主机站点都是默认的wwwroot目录,并不支持自定义修改,但现在越来越多的thinkphp程序框架把程序入口放在public目录,导致并不能正常运行,针对这种情况,我司主动调整支持将目录切换为public目录,目前linux支持修改,windows系统暂时还不支持。 linux系统主机可以在主机控制面板点击【切换主站目录】进行操作,如下图所示: windows系统可以按以下方法操作: 在主机控制面板点击【设置首页】,将首页设置为public/index.php,并放在第一位置上。 由于还涉及到伪静态方面的问题,有些应用配置可能不适用,需要添加对应的伪静态规则。 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系统,或者 提交工单我们进行核实。
|