wordpress CMS主题 微信
Home > PHP开发 > thinkphp3.2在使用smarty模板引擎后如何实现URL短链接?

thinkphp3.2在使用smarty模板引擎后如何实现URL短链接?

高时银博客 PHP开发 点击: 48 次 0 1
  • 标签: |
  • 使用thinkphp框架开发网站后,如果想对SEO友好,我们一般都要对网站URL进行相应的优化。如果是使用thinkphp自身的模板引擎,比较简单,按官方thinkphp手册来操作即可。如果使用了smarty模板引擎,在URL优化上还是会有一些小插曲的。thinkphp3.2使用smarty后如何实现URL短链接

    第一步:隐藏index.php

    先config.php中配置url可以重写:

    'URL_MODEL' => 2,// 四种模式:0(普通)、1(PATHINFO)、2(REWRITE)、3(兼容)

    然后针对不同的服务器进行相应的伪静态设置:

    apache服务器:

    httpd.conf文件中开启 mod_rewrite.so
    添加.htaccess伪静态文件,代码:
    <IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
    </IfModule>

    nginx服务器:

    nginx.conf文件:
    location /dream/ { //网站放在了二级目录dream,如果不是二级目录,就去掉dream
    if (!-e $request_filename) {
    rewrite ^/dream/(.*)$ /dream/index.php?s=$1 last;
    break;
    }
    }

    这样,url中的index.php就被隐藏起来了。注:修改好后,要重启服务器才能生效。

    第二步:短链接实现

    thinkphp默认的url链接很长,不利于SEO,如:http://localhost/dream/Post/index/id/10.html

    我们要实现成短链接,如:http://localhost/dream/Post/10.html

    实现方式:config.php配置路由

    // 路由配置
    'URL_ROUTER_ON' => true,//开启路由
    'URL_ROUTE_RULES'=>array(
    'post/:id' => 'Post/index',
    'cat/:id' => 'Cat/index'
    ),

    前台HTML页面调用短链接:

    <a href='{U("Cat/1")}'>产品目录</a>

    这样就实现了我们想要的短链接。


    文章作者:高时银博客
    本文地址:http://wanlimm.com/77201805155577.html
    版权所有 © 转载时必须以链接形式注明作者和原始出处!

    目前还没有评论。赶快来坐沙发吧。

    发表评论