(一)创建一个继承了System.Web.IHttpHandler接口的类 System.Web.IHttpHandler接口有两个成员ProcessRequest()方法和IsReusable()属性。
ProcessRequest(System.Web.HttpContext context) 方法,除了用户自定义中被要求处理的特殊的http请求。其中的参数 System.Web.HttpContext 类的实例装入了一个http请求中http协议中要求的所有信息。其中System.Web.HttpContext 类中包含有属性 Request 使得从客户端发送过来的http请求信息的值可以被方便地读取;属性Response 它封装了需要返回给客户端的信息和操作。 IsReusable()属性要置为true.
(二) 创建一个资源图片的方法Real() 1.若是盗链服务器给其错误图片。 2.若不是盗链服务器给其正常的图片。 在Real()方法中用到了FileInfo 这个类去取得图片的扩展名并用来判断图片的类型.
(三) 注意页面的缓存(response.Expires=1获取和设置浏览器上缓存的页过期之前的分钟数.如果用户在页过期之前返回同一页,则显示缓存的内容)
(四)配置应用程序扩展名映射 因为IIS在接收到aspx页面请求时,会为其自动加载一个C:\WINDOWS\Micosoft.NET\Framework\v1.1.4322 \aspnet_isapi.dll文件。 虚拟目录和文件夹的属性里面的”执行许可”改为“纯脚本”。 若是有多个Web.config那么只要在总目录下有就可以了,其它地方的均可删除。
(五)在 Web.config这个网络应用程序配置文件中加入注册信息
内容太多,附上出处链接:http://wenku.baidu.com/link?url=DGPRiZ4nk5t9GJxapsqQ5RBzgLBtHpH0fVFoco3BNcbRORGDOsJYRTllkLOLZMXIPAfqdf8IlDSybKXWFVc9cG133iuiwzerdVef18pbDIS
IIS环境
如果你的服务器环境支持ISAPI_Rewrite的话,可以配置httpd.ini文件,添加下面的内容:
RewriteRule (.*)$ /index\.php\?s=$1 [I]
在IIS的高版本下面可以配置web.Config,在中间添加rewrite节点:
<rewrite>
<rules>
<rule name="OrgPage" stopProcessing="true">
<match url="^(.*)$" />
<conditions logicalGrouping="MatchAll">
<add input="{HTTP_HOST}" pattern="^(.*)$" />
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
</conditions>
<action type="Rewrite" url="index.php/{R:1}" />
</rule>
</rules>
</rewrite>
Nginx环境
在Nginx低版本中,是不支持PATHINFO的,但是可以通过在Nginx.conf中配置转发规则实现:
location / { // …..省略部分代码
if (!-e $request_filename) {
rewrite ^(.*)$ /index.php?s=$1 last
break
}
}
其实内部是转发到了ThinkPHP提供的兼容模式的URL,利用这种方式,可以解决其他不支持PATHINFO的WEB服务器环境。
如果你的ThinkPHP安装在二级目录,Nginx的伪静态方法设置如下,其中youdomain是所在的目录名称。
location /youdomain/ {
if (!-e $request_filename){
rewrite ^/youdomain/(.*)$ /youdomain/index.php?s=$1 last
}
}
楼主~不对啊怎么看你的网站里又是 *.asp 又是*.aspx 这个好像不能共存吧?无法读写问题应该是你的网站文件夹属性配置的不正确你可以按照图片上的配置试一下把读写都选上欢迎分享,转载请注明来源:夏雨云
评论列表(0条)