V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
gogobody
V2EX  ›  程序员

请问 nginx 配置伪静态后如何正确配置二级网址

  •  
  •   gogobody · 2019-09-03 18:41:14 +08:00 · 2906 次点击
    这是一个创建于 1897 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我的 typecho 博客 xxx.com 配置了伪静态 由 xxx.com/index.php->xxx.com

        location / {
          
          #REWRITE-END
        
          if ( !-e $request_filename) {
    
              rewrite ^(.*)$ /index.php$1 last;
          }
        }
    

    然后我想在二级目录配置静态 html,通过 xxx.com/love 访问

         location /love {
        	alias /www/wwwroot/my_love;
            index index.html;
        
    

    如此配置之后一直无效,访问 xxx.com/love 跳转到 typecho 博客的 404 页面。求助各位大佬

    22 条回复    2019-09-04 11:35:34 +08:00
    Augi
        1
    Augi  
       2019-09-03 18:59:27 +08:00
    不太了解你博客放哪儿了,不过不应该是 root 吗,为啥用 alias
    gogobody
        2
    gogobody  
    OP
       2019-09-03 19:02:57 +08:00 via Android
    @Augi alias 是想部署静态网页的,博客就正常 typecho 安装的默认目录
    enng
        3
    enng  
       2019-09-03 19:05:30 +08:00 via Android
    如果站点子目录也是 php 的话你漏了一些配置
    gogobody
        4
    gogobody  
    OP
       2019-09-03 19:07:56 +08:00
    @enng 子站点就是静态的 html
    enng
        5
    enng  
       2019-09-03 19:19:36 +08:00 via Android
    @gogobody 这样的话……
    alias /www/wwwroot/my_love/; 加个斜杠看看?
    gogobody
        6
    gogobody  
    OP
       2019-09-03 19:23:01 +08:00
    @enng 不行,我觉得问题很奇怪就是二级网址的 location 也转发到了 typecho 那里,所以一直显示 typecho 的 404 页面
    Augi
        7
    Augi  
       2019-09-03 19:24:32 +08:00
    @gogobody 多加个 / 试试
    gogobody
        8
    gogobody  
    OP
       2019-09-03 19:27:39 +08:00
    @Augi 不行 = =
    enng
        9
    enng  
       2019-09-03 19:28:53 +08:00 via Android
    @gogobody location 的优先级也没问题么……
    gogobody
        10
    gogobody  
    OP
       2019-09-03 19:31:17 +08:00
    @enng 我试过交换顺序,还是不行呀 - -
    glp664186796
        11
    glp664186796  
       2019-09-03 19:36:06 +08:00
    xxx.com 是你的博客?
    jamesliu96
        12
    jamesliu96  
       2019-09-03 19:41:44 +08:00 via Android
    猜想可能被正则 location 吃掉了或者其他的规则,可以试试 location ^~ /love {...}
    gogobody
        13
    gogobody  
    OP
       2019-09-03 19:48:24 +08:00
    @glp664186796 是的,假设的是这个域名
    gogobody
        14
    gogobody  
    OP
       2019-09-03 19:53:05 +08:00
    @jamesliu96 感谢,改了之后可以了,不过实在太奇怪了,我之前也试过这样,还试过~* /love,都没成功,现在突然就成功了,不知道是什么问题
    gogobody
        15
    gogobody  
    OP
       2019-09-03 19:57:56 +08:00
    @jamesliu96 我尝试改回原来的 /love,发现也不会跳转到 typecho 的 404 了,正常跳转到 html,只是 css 样式链接不对。之前的问题无法复原了,太莫名其妙了 = =
    jamesliu96
        16
    jamesliu96  
       2019-09-03 20:01:15 +08:00 via Android
    @gogobody 会不会是缓存的问题?通过你的描述分析感觉和后端和重写没有任何关系,应该全是 location 的锅
    yytsjq
        17
    yytsjq  
       2019-09-03 20:12:50 +08:00
    if is evil

    试试用 try_files 重写?
    gogobody
        18
    gogobody  
    OP
       2019-09-03 23:38:56 +08:00 via Android
    @jamesliu96 我也感觉像,不过我的博客没有开页面缓存啊
    gogobody
        19
    gogobody  
    OP
       2019-09-03 23:39:36 +08:00 via Android
    @yytsjq 感谢,目前问题已经解决,原来的问题无法复原了😂
    dimlau
        20
    dimlau  
       2019-09-04 00:28:33 +08:00 via iPhone
    关键是,URL 和实际目录结构相同时,不必设置 alias 啊……
    gogobody
        21
    gogobody  
    OP
       2019-09-04 08:27:36 +08:00 via Android
    @dimlau 额,是不同的
    glp664186796
        22
    glp664186796  
       2019-09-04 11:35:34 +08:00
    @gogobody 我在公司点进这个链接吓我一跳
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3339 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 00:41 · PVG 08:41 · LAX 16:41 · JFK 19:41
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.