ThinkPHP3 伪静态设置

根据ThinkPHP3.0的手册URL重写的那一节配置Apache。

然后再网站根目录下放置.htaccess文件,内容如手册所提示的一样

 

htaccess代码

  1. <IfModule mod_rewrite.c>
  2.  
  3. RewriteEngine on
  4.  
  5. RewriteCond %{REQUEST_FILENAME} !-d
  6.  
  7. RewriteCond %{REQUEST_FILENAME} !-f
  8.  
  9. RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
  10. 转载请注明出处:http://tyllxx.iteye.com
  11. </IfModule>

 

 

虽然可以用URL_HTML_SUFFIX实现伪静态,但是这里的方法是使用.htaccess文件来实现。

以上代码可以实现让:

http://serverName/index.php/Blog/read/id/1

变为:

http://serverName/Blog/read/id/1

 

那么还要让其变为:

http://serverName/Blog/1.html

 

若还有:

http://serverName/buy/1.html

http://serverName/topic/diy.html

怎么实现呢?

 

以下是实现方法:(.html后缀,自己在写连接时自己加上,用URL_HTML_SUFFIX方式,去掉方法中的.html)

 

 

Htaccess代码

  1. <IfModule mod_rewrite.c>
  2.  
  3.    RewriteEngine on
  4.  
  5.    RewriteCond %{REQUEST_FILENAME} !-d
  6.  
  7.    RewriteCond %{REQUEST_FILENAME} !-f
  8.  
  9.    RewriteRule ^(.*)$ index.php/$1 [QSA,PT]
  10.  
  11.    RewriteRule ^(.*)/topic/(.*)\.html$ $1/topic/Index/index/links/$2 [QSA,PT]
  12.  
  13.    RewriteRule ^(.*)/buy/(.*)\.html$ $1/buy/Index/index/id/$2 [QSA,PT,L]
  14.  
  15. 转载请注明出处:http://tyllxx.iteye.com
  16. </IfModule>

 

此方法已经验证过,只需要修改匹配字段和替换字段即可使用。

点赞

发表回复

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