策划说当用户输入http://c.cn/zhuanti/taierxingbie的时候要自动补全成http://www.c.cn/zhuanti/taierxingbie
这两个地址指向的是同一个文件位置,
<span style="font-size:18px;"><IfModule mod_rewrite.c>
RewriteEngine On #表示重写引擎开,关闭off,
RewriteCond %{HTTP_HOST} ^c.cn$ [NC]<span style="font-family:KaiTi_GB2312;"> 相当于if当</span>%{HTTP_HOST}<span style="font-family:KaiTi_GB2312;">等于</span>c.cn<span style="font-family:KaiTi_GB2312;">时,回执行下面的</span>RewriteRule
RewriteRule ^(.*)$ http://www.c.cn/zhuanti<span style="font-family:KaiTi_GB2312;">/</span>$1 [R=301,L] #R强制重定向,并且HTTP的相应码为302,<span style="font-family:KaiTi_GB2312;">跳转到</span>http://www.c.cn/zhuanti<span style="color:#FF0000;">$1,<span style="font-family:KaiTi_GB2312;color:#000000;">$1表示前面正则表达式匹配的内容</span></span>
RewriteCond %{REQUEST_FILENAME} !-d #路径不存在
RewriteCond %{REQUEST_FILENAME} !-f #文件不存在
RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L] #去掉index.php<span style="font-family:KaiTi_GB2312;">也</span>可以访问
</IfModule></span>
像上面那样写,跳转之后的网址为http://www.c.cn/zhuanti/index.php/taierxingbie,所以
<span style="font-size:18px;"><IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_HOST} ^c.cn$ [NC]
RewriteRule ^index.php(.*)$ http://www.c.cn/zhuanti$1 [R=301,L] #R强制重定向,并且HTTP的相应码为302
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
</IfModule></span>
ok了,第一次用这个.htaccess文件,好多不懂,[QSA,PT,L]这个是干什么就不知道....
RewriteRule ^index.php(.*)$ http://www.c.cn/zhuanti$1 [R=301,L]红色部分好像是当前文件上级开始截至的url