站长资讯 > > 正文

htaccess转换httpd.ini的方法

2020-05-22

从apache转到iis下,碰到.htacess转换httpd.ini的问题,经过摸索得出以下

结论大家可以试试,不一定对。 先来看.htacess中源代码

RewriteEngine On RewriteCond %{HTTP_HOST} !^www.45it.net$ RewriteRule ^(.*)$http://www.45it.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中^符号换成/,在独立页面前面加上路径/,以我自己理解这个/应该是相对目录的根目录。

-

-

相关阅读

kzhuaiming资讯网