国内很多虚拟主机都不支持绑定二级目录,如thinkphp框架需要设置运行目录public, 虚拟主机站点都是默认的wwwroot目录,虚拟主机的默认跟目录是无法修改的。
但是thinkphp程序部分程序在开发的时候没有调整对应的程序入口,就需要网站访问默认指向到Public目录。
为了使用网站可以正常访问,可以在网站根目录下添加相应的伪静态规则,将对应的访问直接调整到Public目录
apache下伪静态规则:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_URI} !^/public/
RewriteRule ^(.*)$ /public/$1 [L]
</IfModule> 保存命名为.htaccess(注意有点)
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目录。
由于涉及到伪静态方面的问题,有些应用配置可能不适用,可以在主机控制面板点击设置首页功能按钮,在里面直接输入public/index.php来指定。
资源均来自第三方,谨慎下载,前往第三方网站下载


