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

怎么去掉 URL 后面的 index.php

  •  
  •   wex · 2016-08-08 14:25:51 +08:00 via Android · 2441 次点击
    这是一个创建于 3020 天前的主题,其中的信息可能已经有所发展或是发生改变。
    程序是 typecho
    我现在用 xx.com 访问一切正常,没有 xx.com/index.php
    如果我用 www.xx.com 访问就会跳转到 xx.com/index.php
    我的意思是如何只跳转到 xx.com ,去掉 index.php 这个后缀?谢谢😜
    22 条回复    2016-08-09 14:47:55 +08:00
    baiyi
        1
    baiyi  
       2016-08-08 15:11:34 +08:00
    重定向
    wex
        2
    wex  
    OP
       2016-08-08 15:13:35 +08:00 via Android
    @baiyi 用了 301 跳转,要不然也不会访问 www.xxx.com 跳转到 xx.com/index.php
    bdbai
        3
    bdbai  
       2016-08-08 15:24:53 +08:00 via Android
    我猜服务器是 Apache ,用 rewrite 。
    baiyi
        4
    baiyi  
       2016-08-08 15:37:46 +08:00
    啊 那 301 跳转到 xx.com 不就好了吗 为什么非要指定 index.php
    wex
        5
    wex  
    OP
       2016-08-08 15:59:15 +08:00 via Android
    @bdbai nginx linux 一件安装包


    @baiyi 我想要去掉 index.php ,看着难受
    DT27
        6
    DT27  
       2016-08-08 16:01:07 +08:00
    找到 nginx 配置文件,贴出 301 代码
    popu111
        7
    popu111  
       2016-08-08 16:04:51 +08:00
    301 跳的时候不带参数可解,但对用户体验不好。。。算了就个自己写了自己看的博客还在意那些干嘛(自嘲脸
    xuhaoyangx
        8
    xuhaoyangx  
       2016-08-08 16:09:39 +08:00
    nginx rewrite
    wex
        9
    wex  
    OP
       2016-08-08 16:14:30 +08:00 via Android
    xuhaoyangx
        10
    xuhaoyangx  
       2016-08-08 16:20:36 +08:00
    重写要你的程序支持
    popu111
        11
    popu111  
       2016-08-08 16:28:01 +08:00
    @wex 把第二个 if 挪到第一个 if 前面去
    wex
        12
    wex  
    OP
       2016-08-08 20:45:40 +08:00
    @popu111 没用啊~~
    popu111
        13
    popu111  
       2016-08-08 21:27:36 +08:00
    @wex 嗯,,,是在下刚刚傻了,请把 if ($host != 'xxx.re')所属 block 中那个 rewrite 语句里的$1 去掉。

    这法子简单粗暴但有点小副作用,这个 rewrite 现在有这样的功能:
    www.xxx.re/test.html 重写为 xxx.re/test.html
    去掉之后就变成:
    www.xxx.re/不管有什么 一律重写为 xxx.re/

    还请自行取舍,当然也可以写段逻辑判断$1 是不是 index.php 啥的,但这似乎没什么卵用,尤其在面向一个个人博客的时候
    wex
        14
    wex  
    OP
       2016-08-08 21:52:03 +08:00
    @popu111 并没有用,有没有其他办法啊,这个办法估计行不通了
    DT27
        15
    DT27  
       2016-08-09 08:34:56 +08:00
    '/usr/local/nginx/conf/rewrite/typecho.conf'
    楼主贴一下这文件的代码。
    wex
        16
    wex  
    OP
       2016-08-09 12:48:11 +08:00 via Android
    wex
        17
    wex  
    OP
       2016-08-09 12:48:27 +08:00 via Android
    DT27
        18
    DT27  
       2016-08-09 13:28:56 +08:00
    第一个和第二个 if 段删掉,仅保留最后一个。
    wex
        19
    wex  
    OP
       2016-08-09 14:12:33 +08:00 via Android
    @DT27 没效果,你的博客怎么弄得
    DT27
        20
    DT27  
       2016-08-09 14:31:00 +08:00
    @wex 我的是 Apache 。感觉就是这的问题啊,你换个浏览器或者换台电脑试试,跳转规则也有缓存。
    wex
        21
    wex  
    OP
       2016-08-09 14:42:50 +08:00 via Android
    @DT27 谢谢,应该是搞定了,我在后面加了个 break ,把 typecho.conf#掉了,还是非常感谢你(握爪)
    DT27
        22
    DT27  
       2016-08-09 14:47:55 +08:00
    @wex ^ ^,解决了就好。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3397 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 04:53 · PVG 12:53 · LAX 20:53 · JFK 23:53
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.