thinkcmf设置为rewrite后Apache的设置


 thinkCMF是基于ThinkPHP的,所以其配置很多与ThinkPHP相似,在TP中有这么几种模式:

第一种:普通模式,在配置文件中URL_MODEL值为0,

形如:http://localhost/index.php?g=index&m=index&a=index&id=1

上述链接中,g/m/a分别代表模块名称,控制器名称和方法名称(都可以在config.php中配置),最后id为参数。


第二种:PATHINFO 模式,在配置文件中URL_MODEL值为1

形如:
http://localhost/index.php/index/index/index/id/1

默认为PATHINFO 模式,可以提供最好的用户体验和SEO支持。上述链接中,“/”是配置文件中的URL_PATHINFO_DEPR的值,可以自由选配分隔符。

第三种:REWRITE  模式,在配置文件中URL_MODEL值为2,

形如:
http://localhost/index/index/index/id/1
它是在PATHINFO模式的基础上添加了重写规则的支持,可以去掉URL地址里面的入口文件index.php,但是需要额外配置WEB服务器的重写规则。


第四种:兼容模式,在配置文件中URL_MODEL值为3,

是用于不支持PATHINFO的特殊环境,配合服务器的重写规则,可以达到与第三种模式一样的效果。

首先在ThinkCMF后台中“设置”=》“网站信息”=》“URL设置”中选中REWRITE模式,并配上伪静态的后缀。

其次,需要修改 .htaccess 的配置,在TP官网找了一篇文章,将

另外,还做了以下的修改

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
</IfModule>
<IfModule mod_rewrite.c>
  Options +FollowSymlinks
  RewriteEngine On

  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteRule ^(.*)$ index.php?s=/$1 [QSA,PT,L](如果是兼容模式,则写成RewriteRule ^(.*)$ index.php?s=/$1 [QSA,PT,L])
</IfModule>


注:本文转载自拾图网[http://www.tshinet.com],转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如有侵权行为,请联系我们,我们会及时删除。
上一篇 下一篇

淘宝热销

  • Mistine小黄帽防晒霜乳SPF50泰版面部防紫外线隔离男女军训蜜丝婷

    【推荐理由】赠运费险

    【优惠券】20   【券后价】59.00

    【下单链接】18¥ CZ0001 G5fHdEqOsnB¥

    >>>>>> 马上打开

  • G7旗舰店越南进口美式纯黑咖啡粉速溶无糖0脂减燃正品学生提神

    【推荐理由】库存紧张,好评过万

    【优惠券】3    【券后价】26.90

    【下单链接】27¥ CZ0001 zb0bdEqLV7G¥

    >>>>>> 马上打开