• SEO是一个到底多么牛叉的行业?SEO是一个到底多么牛叉的行业?
  • 郑州SEO郑州seo
  • 郑州SEO你只看到了别人的成功,却看不到别人默默的
  • 郑州SEOSEO切莫浪费时间在不必要的问题上
  • 1
  • 2
  • 3
  • 4

伪静态文件.htaccess转httpd.ini需要注意什么

时间:2014-4-29 作者:问候seo

伪静态文件.htaccess转httpd.ini需要注意什么,上一篇已经介绍了httpd.ini的语法,其实用心的研究下发现不是很难,如果自己有现成的.htaccess文件是可以很容易的转换为httpd.ini文件的,下面总结了几点我在查找资料时看到几个注意点,希望对大家在网站换环境做伪静态有所帮助。

对于APACHE服务器PHP语言.HTACCESS的内容迁到IIS下的HTTPD.INI并不复杂,首先创建HTTPD.INI文件。
初始内容如下:

[ISAPI_Rewrite]
CacheClockRate 3600 //运行时出现httpd.parse.errors错误文件,无需理会
RepeatLimit 32

.HTACCESS下内容
RewriteRule ^message-p([0-9]+)\.html$ message\.php\?page= [QSA,L]

HTTPD.INI下内容
RewriteRule ^message-p([0-9]+)\.html message\.php\?page= [L]

迁移规则:去除html$下的$符号;将[QSA,L]改为[L]即可。
案例1:httpd.ini适合IIS使用,.htaccess适合Apache使用,nginx.conf适合Nginx使用
转换前:httpd.ini
[ISAPI_Rewrite]
# 3600 = 1 hour
CacheClockRate 3600
RepeatLimit 32
RewriteRule ^(.*)/view-(.*)-(.*)\.htm$ $1/view\.php\?s=$2&y=$3
转换后:.htaccess(注意上面的红斜干)
RewriteEngine on
RewriteBase /
RewriteRule ^(.*)view-(.*)-(.*)\.htm$ $1/view.php?s=$2&y=$3

案例2:从apache转到iis下,碰到.htacess转换httpd.ini,分享下方法。

转换前:.htacess规则:

RewriteEngine On

RewriteCond %{HTTP_HOST} !^www.bonledlight.com$

RewriteRule ^(.*)$ http://www.bonledlight.com/$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转换中,就是要让apache和iis理解我们想要它做什么。上面代码不难看出:

首先是对规则的定义要变,从rewrite_module变成isapi_rewrite。

其次是路径要变,.htacess的路径是定义在头部中,而httpd.ini是定义在每行规则里,.htacess转换httpd.ini转

换时将.htacess中^符号换成/,在独立页面前面加上路径/,以我自己理解这个/应该是相对目录的根目录。

声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:1448228637@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。