请教:如何去掉网址中的/

2012-04-17 23:05:02 +08:00
 beta4better
就像这个网站一样: www.scottw.com

我clone了下他的代码,是用octopress搭建的。每篇文章一个目录,但是访问的时候去看不到目录后面的/。

请问这是如何实现的?
3463 次点击
所在节点    问与答
7 条回复
Livid
2012-04-17 23:13:28 +08:00
改模板文件吧?
delphiqin
2012-04-17 23:19:24 +08:00
这种结构的url一般都用的是url rewrite,
http://www.scottw.com/missing-features 像这种地址,服务器收到后会 rewrite 成类似http://www.scottw.com/index.php?missing-features 这种(假设网站是由 php 建的),然后由 index.php 根据传进来的参数进行处理。这样的情况下,你看到这个地址并不是网站根目录下 missing-features 目录中的某个文件,而是由程序根据规制生成的一个地址。
至于没有结尾的 /,是因为他在生成url后,去除了url结尾处的 /
yangg
2012-04-17 23:23:28 +08:00
在nginx中加上配置项

tryfiles $uri $uri/
delphiqin
2012-04-17 23:26:00 +08:00
呃,查了一下octopress,发现我说的不对……楼主无视我的回答吧……
beta4better
2012-04-17 23:26:13 +08:00
我在他的配置文件中看到这么一段:

RewriteRule ^(\/[^.]+)$ $1.html [L]

确实是用的rewrite。

这样是不是更有助于搜索引擎的收录?

我印象中之前用Project Babel的时候, @livid就是这么设计的URL。
当时google收录的情况很不错。
yangg
2012-04-17 23:32:32 +08:00
奇怪,试了下上面那样不行,
非要这么写?try_files $uri $uri/index.php
sobigfish
2012-04-17 23:38:43 +08:00
@yangg 你ls那个是Apache的吧,try_files 是nginx的
http://nginx.org/en/docs/http/converting_rewrite_rules.html

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/32500

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX