解决虚拟主机入口文件不能设置在public目录的方法

src=http___www.qycn.com_kindeditor_attached_image_20210317_20210317070809_77798.png&refer=http___www.qycn.jpg

虚拟主机站点都是默认的wwwroot或者web目录,虚拟主机的默认跟目录是无法修改的。

但是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目录。

相关文章

发表评论 取消回复

很抱歉,您暂时无法发布评论。需要 登录 后才能发布。

IT天天自学网

IT天天自学网是一个记录生活随笔日志、分享实用技术文章的学习博客!