好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

ThinkPHP3 伪静态和URL重写 多重匹配的简单设置

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

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

win2003的空间iis6不支持.htaccess,尽可能选用linux系统的服务器

 

Htaccess代码  

<IfModule mod_rewrite.c>      RewriteEngine on      RewriteCond %{REQUEST_FILENAME} !-d      RewriteCond %{REQUEST_FILENAME} !-f      RewriteRule ^(.*)$ index.php/$ 1  [QSA,PT,L]   转载请注明出处:http://tyllxx.iteye.com   </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代码  

<IfModule mod_rewrite.c>         RewriteEngine on         RewriteCond %{REQUEST_FILENAME} !-d         RewriteCond %{REQUEST_FILENAME} !-f         RewriteRule ^(.*)$ index.php/$ 1  [QSA,PT]         RewriteRule ^(.*)/topic/(.*)\.html$ $ 1 /topic/Index/index/links/$ 2  [QSA,PT]         RewriteRule ^(.*)/buy/(.*)\.html$ $ 1 /buy/Index/index/id/$ 2  [QSA,PT,L]      转载请注明出处:http://tyllxx.iteye.com   </IfModule>  

 

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

查看更多关于ThinkPHP3 伪静态和URL重写 多重匹配的简单设置的详细内容...

  阅读:89次