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

虚拟主机站点都是默认的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目录。

教程 2020-05-10 21:24:36 通过 网页 浏览(113)

共有0条评论!

发表评论