htaccess转换httpd.ini的方法和需要注意的地方

  • A+
所属分类:服务器

今天一位服务器租用客户的站点从apache转到iis下,碰到.htacess转换httpd.ini的问题,经过摸索得出以下
结论大家可以试试,不一定对。

先来看.htacess中源代码

RewriteEngine On
RewriteCond %{HTTP_HOST} !^www.chinadive.net$
RewriteRule ^(.*)$ http://www.chinadive.net/$1 [R=301,L,NC]
RewriteBase /RewriteRule ^([^-/\.\_\-]+)\.html$ $1.php?
RewriteRule ^([^-/\.\_\-]+)-op([^-/]+)-sor([^-/]+)-det([^-/]+)\.html$ $1.php?op=$2&sor=$3&det=$4
RewriteRule ^([^-/\.\_\-]+)-op([^-/]+)-sor([^-/]+)\.html$ $1.php?op=$2&sor=$3
RewriteRule ^([^-/\.\_\-]+)-sor([^-/]+)\.html$ $1.php?sor=$2
RewriteRule ^([^-/\.\_\-]+)-op([^-/]+)\.html$ $1.php?op=$2
RewriteRule ^([^-/\.\_\-]+)-page([^-/]+)\.html$ $1.php?page=$2
RewriteRule ^([^-/\.\_\-]+)-op([^-/]+)-sor([^-/]+)-page([^-/]+)\.html$ $1.php?op=$2&sor=$3&page=$4

接下来看转换后http.ini的写法

[ISAPI_Rewrite]
RewriteRule /([^-/\.\_\-]+)\.html$ /$1.php?
RewriteRule /([^-/\.\_\-]+)-op([^-/]+)-sor([^-/]+)-det([^-/]+)\.html$ /$1.php?op=$2&sor=$3&det=$4
RewriteRule /([^-/\.\_\-]+)-op([^-/]+)-sor([^-/]+)\.html$ /$1.php?op=$2&sor=$3
RewriteRule /([^-/\.\_\-]+)-sor([^-/]+)\.html$ /$1.php?sor=$2
RewriteRule /([^-/\.\_\-]+)-op([^-/]+)\.html$ /$1.php?op=$2
RewriteRule /([^-/\.\_\-]+)-page([^-/]+)\.html$ /$1.php?page=$2
RewriteRule /([^-/\.\_\-]+)-op([^-/]+)-sor([^-/]+)-page([^-/]+)\.html$ /$1.php?op=$2&sor=$3&page=$4

在.htacess转换httpd.ini转换结果汇中大家明显看到我们做了修改的几个地方
有颜色的部分就是修改过的,在.htacess转换httpd.ini转换中就是要让apache和iis理解我们想要它做什么
上面代码不难看出:
首先是对规则的定义要变,从rewrite_module变成isapi_rewrite
其次是路径要变,.htacess的路径是定义在头部中,而httpd.ini是定义在每行规则里,.htacess转换httpd.ini转
换时将.htacess中^符号换成/,在独立页面前面加上路径/,以我自己理解这个/应该是相对目录的根目录。
到此.htacess转换httpd.ini就算完成了,赶快测试一下,欢迎高手拍砖指正。

更多问题讨论进入论坛:Http://www.lrblog.cn/bbs

  • 我的微信
  • 这是我的微信扫一扫
  • weinxin
  • 我的微信公众号
  • 我的微信公众号扫一扫
  • weinxin

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: