目前市面上很流行使用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
最新评论
我的站目前每天120个IP,其中刷的是100个。 不知道为什么升级到4H8G5M的标准服务器还是偶尔会崩,CPU占满,但是内存一般这种时候只占50%左右,这是为什么呢?max_children我也设
麻烦发下检测工具
让我下载