目前市面上很流行使用thinkphp框架,有些程序开发的时候没有调整对应的程序入口,网站访问时默认指向到Public目录,但很多虚拟主机服务商的主目录都是固定无法修改的,造成程序无法正常运行,本文就是介绍如何利用rewrite重写规则来让程序正常运行。
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文件,然后上传到网站根目录,如果原本存在,复制
<rewrite>
</rewrite>
之间的代码(包括<rewrite></rewrite>本身),添加到<system.webServer>之后。
其他程序解决方法类似,修改正确目录。
» 本文链接地址:https://blog.mydns.vip/1339.html
豫章小站















最新评论