expiresbytype php,给PHPCMSv9增加智能URL重写功能

此插件功能是从Leaps框架中拿出出来整合到PC的!

打开 phpcms目录 找到base.php

我们在最下面添加一个方法。如下图:

18c2d5cba0027d2ab38af15a6874cb79.png

代码如下

public static function load_router(){

$router = self::load_sys_class('router');

$config = self::load_config('urlrouter');//读取从写配置文件

$router->init($config);

return $router;

}

好了继续

打开 phpcms\libs\classes\param.class.php

找到

if(!get_magic_quotes_gpc()) {

$_POST = new_addslashes($_POST);

$_GET = new_addslashes($_GET);

$_REQUEST = new_addslashes($_REQUEST);

$_COOKIE = new_addslashes($_COOKIE);

}

在他下面添加3行

$route = pc_base::load_router()->parseRequest();

if($route){

@list ( $_GET['m'], $_GET['c'], $_GET['a'] ) = explode ( '/', $route, 3 );

}

打完收工。

接着下载附件解压出来class放倒phpcms\libs\classes目录下

怎么使用,默认情况下

支持 /admin/index/login?usename=admin 或者 /admin/index/login.html?username=admin这种风格的解析

没考虑API入口,因为兼容原来的嘛!

想要自定义URL咋办,好跟我来

caches\configs 创建配置文件

urlrouter.php

内容如下

$rules = array (

'index' => 'content/index/index',//首页

'search' => 'search/index/index',//搜索

'register' => 'member/index/register',//注册

'login' => 'member/index/login',//登录

//'//' => '//',

//'/' => '//index',

//'' => array('/index/index','bbb'=>'ccc'),

);

return array (

'enablePrettyUrl' => true,

'rules' => $rules,

'showScriptName' => false,

'suffix' => '.html',

);

好了。

怎么创建这么NB的URL呢?

在来

还记得$route = pc_base::load_router()->parseRequest();这样代码不?

好 $url=pc_base::load_router()->createUrl('member/index/login',array('user'=>'aaa'));

自动生成 /login.html?user=aaa 咋样神器吧!

要带上域名咋整?

$url=pc_base::load_router()->createAbsoluteUrl('member/index/login');

自动生成 http://xxx.xxx.xxx/login.html咋样神器吧!

附件下载router.class.php.zip

还忘记了一点要想隐藏index.php

那么根据自己的服务器对号入座吧web.config

nginx

server {

listen ****;

server_name domain.com;

root document_root;

index index.php index.html index.htm;

if (!-e $request_filename) {

rewrite ^/(.*) /index.php/$1 last;

}

}

apache

Options +FollowSymLinks

IndexIgnore */*

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule . index.php

# 以下是一些文件的缓存设置,可修改或去掉

ExpiresActive On

ExpiresByType text/css "access plus 3 days"

ExpiresByType image/png "access plus 14 days"

ExpiresByType image/gif "access plus 14 days"

ExpiresByType image/jpeg "access plus 14 days"

ExpiresByType application/x-shockwave-flash "access plus 28 days"

Lighttpd

$HTTP["host"] =~ "(www.)?domain.com$" {

url.rewrite = (

"^/(.+)/?$" => "/index.php/$1",

)

}

除此之外在模板中如何使用呢?

在global.func.php文件的最底下添加如下代码

function U($route,$parameter = array()){

return pc_base::load_router()->createAbsoluteUrl($route,$parameter);

}

那么在模板中可以直接使用

如 {U('member/index/login',array('aa'=>'bb'))}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
资源包主要包含以下内容: ASP项目源码:每个资源包中都包含完整的ASP项目源码,这些源码采用了经典的ASP技术开发,结构清晰、注释详细,帮助用户轻松理解整个项目的逻辑和实现方式。通过这些源码,用户可以学习到ASP的基本语法、服务器端脚本编写方法、数据库操作、用户权限管理等关键技术。 数据库设计文件:为了方便用户更好地理解系统的后台逻辑,每个项目中都附带了完整的数据库设计文件。这些文件通常包括数据库结构图、数据表设计文档,以及示例数据SQL脚本。用户可以通过这些文件快速搭建项目所需的数据库环境,并了解各个数据表之间的关系和作用。 详细的开发文档:每个资源包都附有详细的开发文档,文档内容包括项目背景介绍、功能模块说明、系统流程图、用户界面设计以及关键代码解析等。这些文档为用户提供了深入的学习材料,使得即便是从零开始的开发者也能逐步掌握项目开发的全过程。 项目演示与使用指南:为帮助用户更好地理解和使用这些ASP项目,每个资源包中都包含项目的演示文件和使用指南。演示文件通常以视频或图文形式展示项目的主要功能和操作流程,使用指南则详细说明了如何配置开发环境、部署项目以及常见问题的解决方法。 毕业设计参考:对于正在准备毕业设计的学生来说,这些资源包是绝佳的参考材料。每个项目不仅功能完善、结构清晰,还符合常见的毕业设计要求和标准。通过这些项目,学生可以学习到如何从零开始构建一个完整的Web系统,并积累丰富的项目经验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值