Nginx Regex针对自定义博客指导特定请求

时间:2015-06-30 20:27:32

标签: php regex nginx

背景

  

我们的网站有一个博客小节,运行一个简单的定制CMS。我使用Nginx作为网络服务器,PHP作为后端语言。

     

博客索引是/ news,其中包含每个帖子的动态链接。单击其中一个链接会将用户定向到/ blog / post-title。我正在使用Nginx拦截位于/ blog文件夹中的帖子模板页面的任何请求。

     

这是基本流程

     

1。用户点击博客并链接到/blog/post-title

     

2。 Nginx捕获此请求并将其提供给/blog/index,这是我们的模板

     

3。该帖子显示为网址https://www.domain.com/blog/post-title

我的问题

我想将博客索引从/news更改为/blog,但这样做会导致锚点指向文件/blog,而不是文件夹/blog/

这是当前的Nginx配置

location /blog/ {
    try_files $uri $uri/ /blog/index.php?$args;
}  

TL; DR

我需要nginx捕获并指向针对文件夹/ blog /的请求,同时忽略文件/blog.php

1 个答案:

答案 0 :(得分:0)

这是一个很长的镜头,因为我不确定您的服务器上的文件是如何布局的,但试试这个。

location ~ ^/blog/(.*)$ {
    try_files $uri $uri/ /blog/index.php?$1;
}