解惑

解己之惑,解人之惑

mod_rewrite规则是有顺序的

原来曾经写过一个有关JR的PR的值的问题,今天littlebat留言说明了原因,使用301永久重定向就可以解决,当然马上试了下,但是遇到一个问题,例如我访问http://jiehoo.com/google%e4%b9%9f%e4%b8%8d%e6%98%af%e4%b8%87%e8%83%bd%e7%9a%84.htm,我期望他转向到http://www.jiehoo.com/google%e4%b9%9f%e4%b8%8d%e6%98%af%e4%b8%87%e8%83%bd%e7%9a%84.htm,但是它总是转向到http://www.jiehoo.com/index.php,很奇怪,后来突然想到这个规则定义可能是有顺序的(没有系统的学习mod_rewrite),试了下,果然如此:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^jiehoo.com [NC]
RewriteRule ^(.*)$ http://www.jiehoo.com/$1 [L,R=301]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

我刚开始是把上面的那个规则写到后面的,因为那个规则是wordpress需要的。

(Visited 58 times, 1 visits today)

1 Comment

  1. 呵呵,有一篇相关的文章供交流:
    学习日记利用apache的mod_rewrite模块的全套重定向方案: http://www.learndiary.com/archives/diaries/3337.htm

littlebat进行回复 取消回复

电子邮件地址不会被公开。 必填项已用*标注

© 2020 解惑

本主题由Anders Noren提供向上 ↑