1
westy 2012-06-14 10:36:52 +08:00 1
个人见解:
1、example.com/something, 这是请求example.com根目录下的something这个资源, example.com/something/ 这是请求example.com根目录下的something文件夹(中的索引文件,比如index.html等web server定义的默认资源)。 2、以此来看,V2EX节点类似于文件夹,应该带上最终的/,而帖子更像一个资源(文件),不应该带最后的/ 3、为了保证内容不重复,应当在末尾带/和不带的两个url间,选一个最终想用的,然后另一个用301跳转到默认的,以防两个url内容一样招致搜索引擎惩罚。 |
2
gonghao 2012-06-14 10:44:48 +08:00 1
我记得 Flask 里面的规则是,如果 @app.route('/something/') 那么 /something 会 301 到 /something/
反之,如果定义 @app.route('/something') 则 /something/ 会 404 ref: http://flask.pocoo.org/docs/quickstart/#routing 因此正如楼上所解释,/ 与 非/ 代表两种含义,不能简单的 301 跳转,Flask 的处理方法应该是比较合理的~ |
3
mckelvin 2012-06-14 12:29:50 +08:00 1
前两天也在思考这问题,豆瓣全带/的
|
4
Showfom 2012-06-14 12:57:40 +08:00 1
带/是目录,不带是文件
|
5
aggron 2012-06-14 13:08:04 +08:00 1
个人喜好吧。我比较习惯 带查询参数和文件后缀的不带/,比如?page=1,index.html之类的,其他的都带/
|
6
Livid MOD In my understanding, wordpress after /go/ means it is a parameter for /go/ , I don't think it's a folder.
|
7
evlos 2012-06-14 14:50:17 +08:00 1
PB3 用的是 Tornado,里面的路由规则大概是这样的:
handlers = [ (r"/", HomeHandler), (r"/archive", ArchiveHandler), (r"/feed", FeedHandler), ] 用 /archive 访问 ArchiveHandler,但是用 /archive 却是 404。 但是由于这个参数支持正则,所以如果改成 (r"/archive[/]*", ArchiveHandler), 就能同时匹配有斜杠和没有斜杠的。@Livid @Showfom - = @gonghao flask 也是这样?!我还以为是 tornado 的问题 - - |