使用Nginx重写URL

时间:2017-08-23 20:59:59

标签: php apache .htaccess mod-rewrite nginx

我在Nginx上运行,我正在尝试创建一个基本上像这样工作的博客:

  1. 我在“商家”类别下创建了一个标题为“如何创建新网站”的新帖子
  2. 我将该标题变成了一个slu <如何创建一个新网站
  3. 最终网址如下所示:http :: //www.example.com/ 博客 / 商家 / 如何创建-a-新网站
  4. 所以我想要完成的是:

    我有一个页面可以在我的数据库中搜索类别 slug 。它检索该文章并显示它。 类别 slug 应该可以是任何内容。

    所以我需要的是一个允许这个的Nginx重写/位置规则。我已经在我的.htaccess文件中使用这个Apache重写规则在另一台服务器上成功完成了类似的操作(但没有类别):

    #Clean URLs for Blog
    RewriteRule ^blog/(.*)$ blog/article.php?slug=$1 [L]
    

    我在Nginx服务器上尝试的所有内容似乎都不起作用。

1 个答案:

答案 0 :(得分:0)

您可以尝试以下规则:

Location ~ /blog/ {
   rewrite "^(/blog)/([\w-]+)/([\w-]+)/?$" $1/article.php?category=$2&slug=$3 last;
}