IIS服务器访问html页面404错误

  • PHP二次开发网
  • 2013-3-7 09:56
  • PHP二次开发网
  • 阅读(2613)
  • 评论(0)
  • 摘要: 今天用iis配置服务器php与asp的支持,完成之后,发现asp页面的所有html页面都提示404错误,把html页面更名为htm即没有问题。 找了很久的原因,最后发现问题。 因为php页面做过伪静态,iis的伪静态采用的是ISAPI Rewr ...
    今天用iis配置服务器php与asp的支持,完成之后,发现asp页面的所有html页面都提示404错误,把html页面更名为htm即没有问题。
    找了很久的原因,最后发现问题。
    因为php页面做过伪静态,iis的伪静态采用的是ISAPI Rewrite来做的(详细内容见:ecshop IIS伪静态实现方法),再配置文件里面有这样的内容:

    [代码]xml代码:

    [ISAPI_Rewrite]
    
    # 为了确保重写规则不影响服务器上的其他站点
    # 请将下面的语句前的#号去掉,并将(?:www\.)?admin\.com改为商店所在域名
    
    #RewriteCond %{HTTP:Host} (?:www\.)?yjgw365\.com
    
    RewriteRule ^(.*)/index.html$                $1/index\.php          [I]
    RewriteRule ^(.*)/union.html$                $1/union\.php          [I]                       
    RewriteRule ^(.*)/category$                  $1/index\.php          [I]
    RewriteRule ^(.*)/feed-c([0-9]+).xml$        $1/feed\.php\?cat=$2    [I]
    RewriteRule ^(.*)/feed-b([0-9]+).xml$        $1/feed\.php\?brand=$2 [I]
    RewriteRule ^(.*)/feed.xml$                  $1/feed\.php           [I]
    RewriteRule ^(.*)/category-([0-9]+)-b([0-9]+)-min([0-9]+)-max([0-9]+)-attr([^-]*)-([0-9]+)-(.+)-([a-zA-Z]+)(.*)\.html$    $1/category\.php\?id=$2&brand=$3&price_min=$4&price_max=$5&filter_attr=$6&page=$7&sort=$8&order=$9 [I]
    RewriteRule ^(.*)/category-([0-9]+)-b([0-9]+)-min([0-9]+)-max([0-9]+)-attr([^-]*)\.html$                            $1/category\.php\?id=$2&brand=$3&price_min=$4&price_max=$5&filter_attr=$6                          [I]
    RewriteRule ^(.*)/category-([0-9]+)-b([0-9]+)-([0-9]+)-(.+)-([a-zA-Z]+)(.*)\.html$                                $1/category\.php\?id=$2&brand=$3&page=$4&sort=$5&order=$6                                          [I]
    RewriteRule ^(.*)/category-([0-9]+)-b([0-9]+)-([0-9]+)(.*)\.html$                                        $1/category\.php\?id=$2&brand=$3&page=$4                                                           [I]
    RewriteRule ^(.*)/category-([0-9]+)-b([0-9]+)(.*)\.html$                                            $1/category\.php\?id=$2&brand=$3                                                                   [I]
    RewriteRule ^(.*)/category-([0-9]+)(.*)\.html$                                 $1/category\.php\?id=$2                              [I]
    RewriteRule ^(.*)/goods-([0-9]+)(.*)\.html$                                  $1/goods\.php\?id=$2  
    RewriteRule ^(.*)/union-([0-9]+)(.*)\.html$                                  $1/union\.php\?user_id=$2                                [I]
    RewriteRule ^(.*)/article_cat-([0-9]+)-([0-9]+)-(.+)-([a-zA-Z]+)(.*)\.html$ $1/article_cat\.php\?id=$2&page=$3&sort=$4&order=$5 [I]
    RewriteRule ^(.*)/article_cat-([0-9]+)-([0-9]+)(.*)\.html$                   $1/article_cat\.php\?id=$2&page=$3                   [I]
    RewriteRule ^(.*)/article_cat-([0-9]+)(.*)\.html$                            $1/article_cat\.php\?id=$2                           [I]
    RewriteRule ^(.*)/article-([0-9]+)(.*)\.html$                                $1/article\.php\?id=$2                               [I]
    RewriteRule ^(.*)/brand-([0-9]+)-c([0-9]+)-([0-9]+)-(.+)-([a-zA-Z]+)\.html   $1/brand\.php\?id=$2&cat=$3&page=$4&sort=$5&order=$6 [I]
    RewriteRule ^(.*)/brand-([0-9]+)-c([0-9]+)-([0-9]+)(.*)\.html                $1/brand\.php\?id=$2&cat=$3&page=$4                  [I]
    RewriteRule ^(.*)/brand-([0-9]+)-c([0-9]+)(.*)\.html                         $1/brand\.php\?id=$2&cat=$3                          [I]
    RewriteRule ^(.*)/brand-([0-9]+)(.*)\.html                                   $1/brand\.php\?id=$2                                 [I]
    RewriteRule ^(.*)/tag-(.*)\.html                                             $1/search\.php\?keywords=$2                          [I]
    RewriteRule ^(.*)/snatch-([0-9]+)\.html$                                     $1/snatch\.php\?id=$2                                [I]
    RewriteRule ^(.*)/group_buy-([0-9]+)\.html$                                  $1/group_buy\.php\?act=view&id=$2                    [I]
    RewriteRule ^(.*)/auction-([0-9]+)\.html$                                    $1/auction\.php\?act=view&id=$2                      [I]


    由于之前:RewriteCond %{HTTP:Host} (?:www\.)?yjgw365\.com
    这句话没有做配置。也就是所有的网站都遵循这个规律,结果就导致所有的html页面跳转到了php的页面,因为asp网站中,没有对应的php文件,所以就会报404错误。
    解决方法:根据文件的注释,加入http头的配置即可。

    PHP技术交流QQ群:422137578

    除非注明,文章均为 PHP二次开发 原创,转载请注明本文地址:http://www.php2.cc/article-553-1.html

    相关阅读

    最新评论

    用户名:  *

    邮 箱:  *

    网 址: 注意加上“http://”哦!