+ -
当前位置:首页 → 问答吧 → 问大家一个伪静态是怎么设置的?

问大家一个伪静态是怎么设置的?

时间:2011-04-06

来源:互联网

这里牛人多,问大家一个问题啊,

www.letao.com 这个乐淘网的伪静态是怎么设置的?

http://www.letao.com/nike  这个是耐克的店,
不解的是,直接在域名后面/品牌名字

那不是等于其他的/目录都不能用了?比如:http://www.letao.com/help/ 怎么办?

[ 本帖最后由 tinaso 于 2011-4-6 16:11 编辑 ]

作者: tinaso   发布时间: 2011-04-06

乐淘是IIS6,应该是用ISAPI来rewrite的。

http://www.letao.com/shoe-3-1-a-a-a-a-a-a-n~womanleather

像这样的地址,其实就是在isapi里定义了一个规则,然后检测页面的request_uri之类的,如果符合规则就跳转到某个页面,如上面这个可能就是跳转到http://www.letao.com/shoe.php?type=3&id=1... 类似的。

至于你说的http://www.letao.com/about/这种情况,如果about这个目录存在并在其下有默认文件如index.php之类的,则可以在rewrite规则里先作判断,确定当请求的文件不存在再用isapi来尝试解析URL规则。举个nginx的判断例子:

//如果文件不存在则如何如何。。。
if (!-e $request_filename) {
    //这里可以写rewrite规则,如
    rewrite "^/shoe-(\d)-(\d)(.*?)$" /shoe.php?type=$1&id=$2&params=$3 last;
    //这里就把不存在真实文件的请求/shoe-3-1-a-a-a-a-a-a-n~womanleather转发到了shoe.php上。
}

[ 本帖最后由 112183883 于 2011-4-6 16:17 编辑 ]

作者: 112183883   发布时间: 2011-04-06

是的,除非另特别规则指明。
http://www.letao.com/help

总得来说,规则是很灵活的,而且是后面写的能覆盖前面的。

作者: kuhanzhu   发布时间: 2011-04-06