V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
beta4better
V2EX  ›  问与答

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

  •  
  •   beta4better · 2012-04-17 23:05:02 +08:00 · 3249 次点击
    这是一个创建于 4363 天前的主题,其中的信息可能已经有所发展或是发生改变。
    就像这个网站一样: www.scottw.com

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

    请问这是如何实现的?
    7 条回复    1970-01-01 08:00:00 +08:00
    Livid
        1
    Livid  
    MOD
       2012-04-17 23:13:28 +08:00
    改模板文件吧?
    delphiqin
        2
    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
        3
    yangg  
       2012-04-17 23:23:28 +08:00
    在nginx中加上配置项

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

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

    确实是用的rewrite。

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

    我印象中之前用Project Babel的时候, @livid就是这么设计的URL。
    当时google收录的情况很不错。
    yangg
        6
    yangg  
       2012-04-17 23:32:32 +08:00
    奇怪,试了下上面那样不行,
    非要这么写?try_files $uri $uri/index.php
    sobigfish
        7
    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
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2852 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 15:21 · PVG 23:21 · LAX 08:21 · JFK 11:21
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.