rewrite ,spurl 差一点不行。

#1 redguan

一、APACHE服务器配置支持.htaccess
二、.htaccess 语句
RewriteRule . index.php [L]

相当于:

访问:http://xxx.com/index.php/main/list/pid/223 (地址一)
相当于: http://xxx.com/main/list/pid/223 (地址二)


但是,这样无论后面是什么参数,都是相当于访问 http://xxx.com  即SP无法通过(地址二)获得C和A参数

现在的问题是,SPURL生成的地址,SP能正确读取

三、修改函数: spUrl
当打开PATH_INFO开关时,使用RE_WRITE

原代码:
 
if( TRUE == $GLOBALS['G_SP']['url']["url_path_info"] ){ // 使用path_info方式
  $url = $GLOBALS['G_SP']['url']["url_path_base"]."/{$controller}/{$action}";
  if(null != $args)foreach($args as $key => $arg) $url .= "/{$key}/{$arg}";
}else{


四、修改 spconfig.php

 
'url' => array( // URL设置
  'url_path_info' => TRUE, // 是否使用path_info方式的URL
  'url_path_base' => '', // URL的根目录访问地址
),

2010-03-13 10:37:53

#2 jake

楼主的方式不建议使用,.htaccess的规则不完整,另外代码也怪怪的。

这里说明一下,SP将使用插件的形式支持URL_WRITE,近几天会上来测试版本。

2010-03-13 11:09:33

#3 redguan

我也在等,看看插件是什么样子。

目前使用SP做了几个小型的应用,测试一下。

http://pc.redguan.com
http://passport.redguan.com
http://chat.redguan.com

其中与UCENTER的连接很慢,不知道是什么问题。我已经使用了spenter 。其实就是从新封装UC原来的函数名,用类名称调用。

2010-03-13 11:16:22

#4 jake

使用UCENTER的时候,建议两个方法可以提高速度。
1. 最好用mysql的链接方式,不用默认socket的。
2. 本地系统也要有用户表,像winblog一样,除非是登录和注册等相关的地方外,其他的用户操作都读本地用户表,这样减少UC的网络通讯,加快整体速度。当然,UC头像是通过URL的方式,与这无关。

PS:你那LOGO做得挺好看的。:handshake

2010-03-13 11:37:46