rewrite问题求助

#1 awinds

不知道是不是bug还是我设置错误
spconfig设置如下:
$spConfig['ext'] = array( // 加入挂靠点,以便开始使用Url_ReWrite的功能
  'spUrlRewrite' => array(// 以下是Url_ReWrite的设置
   'sep' => '-',
   'suffix' => '.html', // 生成地址的结尾符
   'map' => array(
    'member' => 'member@index', // 映射bbs对应bbs/index
   ),
  ),
);

我想访问http://www.xxx.com/member.html 时访问http://www.xxx.com/index.php?c=member&a=index
这样是正确的
但是我访问http://www.xxx.com/member-time.html时应该是访问http://www.xxx.com/index.php?c=member&a=time
但是这个时候访问到的页面仍然是member/index页面
我用c=member&a=time这样的方式访问时则可以正确访问到member/time页面

谢谢!请问下这样的情况是怎么回事?

2011-07-06 10:49:03

#2 jake

是手册内写错了,映射名不能是控制器名称。否则整个控制器的访问都会被映射接管。

也就是
'member' => 'member@index' 这样是不行的
'members' => 'member@index' 才是正确的

手册稍候修正。

2011-07-06 12:40:01

#3 awinds

谢谢,这个问题清楚了,顺便问下另一个问题,生成HTML页面的问题
配置如下:
'html' => array(  // HTML生成配置
                'enabled' => TRUE, // 开启HTML生成功能
                'safe_check_file_exists' => TRUE,
        ),
执行方法里面如下:
$page="index";
$url = array("main",$page);
spClass("spHtml")->make($url,"/".$page.".html");
这里应该是生成index.html这个文件到网站目录,但是执行过后,还是生成到topic的日期目录了

2011-07-06 12:53:48

#4 jake

要设置 file_root_name ,因为如果不设置,file_root_name默认是topic。

2011-07-06 12:57:45

#5 awinds

设置了file_root_name还是一样生成为topic/2011/7/6/139237732.html
而不是index.html这个文件

2011-07-06 14:31:42

#6 jake

'html' => array(  // HTML生成配置
                'enabled' => TRUE, // 开启HTML生成功能
                'safe_check_file_exists' => TRUE,
'file_root_name' => '/'
        ),
每次生成之后,如果改了配置,要先把tmp下面的文件都删除了。

2011-07-06 18:49:50