昨天遇见一个棘手的问题,就是页面是纯静态的,空间是IIS的,空间商又不让改配置,怎么办?首先声明我是一个新手,下面写写我一天的心得。
先上代码然后再解释:
< %@ Language=VBScript % > < % if left(request.ServerVariables("HTTP_HOST"),4)<>"www." then url = "http://www."&request.ServerVariables("HTTP_HOST")& Request.ServerVariables("SCRIPT_NAME") if Request.ServerVariables("QUERY_STRING") <> "" then url = url & "?" & Request.ServerVariables("QUERY_STRING") Response.Status = "301 Moved Permanently" Response.AddHeader "Location", url end if % > |
1、对于纯asp写的网站,把这段直接复制到conn,asp页面里面即可,或者在首页上也可以,要写在整个文档的前面,这个就随便说说了,很简单。
2、纯HTML的,这个比较麻烦也是我今天遇到的问题,搜了一些解办法都是要改服务器配置,服务商又没得商量,所以只有自己想办法了。首先HTML文件不支持asp,对于有些人说的那些HTML里面直接跳的和什么JS之类的,代码就不贴了,肯定不行的因为这是客户端语言。
3、现在只有修改自身的问题,要不然就解决不了问题,首先想到的办法是建个index.asp的文件,因为他优先级比html的高,做好301然后跳到index.html。这样虽然解决了,但是新问题又产生了。每次打开的是index.html而不是域名了。
4、现在只有把首页改成asp的,我就是这么解决的。然后说下具体怎么弄的:生成静态页里面肯定有个模板文件夹,找到模板文件夹,把里面index.html改成index.asp把上面那段代码复制进去。然后找到生成首页的地方,应该是在后台里面,文件名应该是listindex.asp之类的,把里面所有的index.html改成index.asp,返回首页的地址全部用< a href="/" >首页</a >。
5、做完了检测一下,看看返回值是不是301,我检测出来是对的。只是不知道纯静态的asp对于搜索引擎来说和html的又什么区别。