伪静态 的 suffix 能否强制限制

#1 陈建豪

伪静态 配置如下:
--------------------------------------------
'ext' => array(
        'spUrlRewrite' => array(
            'suffix' => '.asp',
            'sep' => '-',
            'map' => array(),
            'args' => array(),
        ),
    )
--------------------------------------------
我的网址: c=event   ,  a=view  传入参数  eid=6
转为伪静态 :event-view-eid-6.asp
一切正常。

但是.....

如果网址输入的是:
event-view-eid-6.aaa
结果仍然会呼叫 c=event   ,  a=view  传入参数  eid=6.aaa
在这种情况下 .aaa 并不等于設置的 .asp ,如何强制 .asp 是必须在结尾,否则视为 404。
目前使用 event-view-eid-6 访问也可以(不带 .asp 结尾),如何强制结尾要符合 suffix 设定?

2012-07-18 02:38:54

#2 jake

suffix不是用来装饰的,有实际用途。也就是当suffix后面有?的时候,会认为?后面的就是传入的参数,如果suffix不是设定的那个(比如说你设置的是.asp而不是.aaa,但是传入的是.aaa),那么.aaa都会被认为是传入的参数。所以这个在正常情况下是不应该被强制的,这是URL的特性决定的,你可以试试在别人的.html后面加一些东西,都是正常的。

当然,你可以通过spUrlRewrite的程序扩展来对你需要的逻辑进行扩展。具体参考手册扩展一章。

2012-07-18 08:51:28