由于部分使用 ThinkPHP 框架的程序在开发的时候没有调整对应的程序入口,用户在使用的时候就需要将网站的运行目录设置为 public 目录才能正常访问。老薛主机全部虚拟主机都可以设置运行目录,今天,我们来介绍两种设置方法,只需要按照其中一种方法设置就可以。
方法一、通过附加域或子域名的方式将域名绑定到 public 子目录
通过这种方式设置需要购买可以绑定多个域名的主机,如果你购买的是最低档的套餐,只能绑定一个域名,请参考这个教程的第二种方法。
主域名的设置
主域名的网站根目录只能是 public_html,这个是无法调整的,如果你的主机可以绑定多个域名,可以将主机的主域名修改为其他域名(可以是不使用或不存在的域名,注意在联系客服时还是需要提供主机的主域名用于查找你的主机),之后再通过附加域的方式将域名绑定到 public 子目录,附加域的网站根目录是可以自行设定的。
附加域/子域名的设置
由于附加域的文档根目录可以自由设定,如果我们将网站程序上传到了 public_html 目录,在绑定附加域时。只需要将文档根目录设置为 public_html/public 就可以了。
方法二、通过 .htaccess 设置重定向将主域名的访问目录设置为 public 子目录
如果你的主机只能绑定 1 个域名,或者不愿意对主域名进行调整,也可以按照这个方法进行设置。
然后编辑 .htaccess 文件,将以下代码复制到 .htaccess 文件中保存就可以了。
RewriteEngine on
RewriteCond %{REQUEST_URI} !^/public/
RewriteRule ^(.*)$ /public/$1 [L]