投稿 评论 顶部

thinkphp 在IIS6下伪静态规则

佚名 网络安全

hinkphp程序一般默认运行在linux下的apache服务器里,伪静态默认的的官方就支持,但如果运行那个在iis下,那默认的就不支持伪静态了。

因此,需要编写iis下的伪静态规则才可以,这里我们特别为广大的thinkphp爱好者提供一下对应的规则(在笔者发布之前,网络上的规则几乎都不可以用的),在使用规则之前,服务器必须安装伪静态组件的,至于怎么安装这里就不说了。虚拟主机用户可以咨询空间开发商服务器中是否安装了伪静态组件,如果有安装了。虚拟主机用户就不用去操心安装问题,直接伪静态规则保存为httpd.ini上传到程序站点目录就可以

以下是规则内容:

[ISAPI_Rewrite]
# 3600 = 1 hour
CacheClockRate 3600
RepeatLimit 32
RewriteRule (?!\/不进行静态化的目录1)(?!\/不进行静态化的目录2)(.*)$ /index\.php/$1 [I]

这样简单的介绍一下,有一些目录比如放js,css,图片或者附件或者管理员目录等等不需要进行静态化,可以再上面不进行静态的目录中添加。如果没有添加,默认的RewriteRule (.*)$ /index\.php/$1 [I] 就会造成所有的文件都被静态化,结果就会造成css和js,图片等被静态了,会造成版面看起来很乱的现象!

例如

内容如下:

[ISAPI_Rewrite]


# Defend your computer from some worm attacks
RewriteRule .*(?:global.asa|default\.ida|root\.exe|\.\.).* . [F,I,O]

RewriteRule (?!/index.php)(?!/admin.php)(?!/Admin/)(?!/Public/)(?!/install/)(?!/404/)(?!/plugin/)(?!/css/)(?!/images/)(?!/js/)(.*)$ /index.php?s=$1 [I]