V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
beta4better
V2EX  ›  问与答

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

  •  
  •   beta4better · Apr 17, 2012 · 4072 views
    This topic created in 5125 days ago, the information mentioned may be changed or developed.
    就像这个网站一样: www.scottw.com

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

    请问这是如何实现的?
    7 replies    1970-01-01 08:00:00 +08:00
    Livid
        1
    Livid  
    MOD
    PRO
       Apr 17, 2012
    改模板文件吧?
    delphiqin
        2
    delphiqin  
       Apr 17, 2012
    这种结构的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  
       Apr 17, 2012
    在nginx中加上配置项

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

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

    确实是用的rewrite。

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

    我印象中之前用Project Babel的时候, @livid就是这么设计的URL。
    当时google收录的情况很不错。
    yangg
        6
    yangg  
       Apr 17, 2012
    奇怪,试了下上面那样不行,
    非要这么写?try_files $uri $uri/index.php
    run2
        7
    run2  
       Apr 17, 2012
    @yangg 你ls那个是Apache的吧,try_files 是nginx的
    http://nginx.org/en/docs/http/converting_rewrite_rules.html
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1094 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 36ms · UTC 18:30 · PVG 02:30 · LAX 11:30 · JFK 14:30
    ♥ Do have faith in what you're doing.