如何格式化此htaccess规则以不重定向特定查询?

时间:2016-09-17 01:47:35

标签: .htaccess redirect

我正在使用htaccess规则重定向所有网址格式为:

www.example.com/blog/the-name-of-the-post

www.example.com/the-name-of-the-post

所以我已经删除了#34;博客"来自网址。下面的重定向规则正在运行。但是,我不希望以以下格式重定向任何URL:

www.example.com/blog/page/x

所以,如果" / page"在"博客"之后出现,然后我不想进行重定向。问题是我在分页时也会重定向博客页面。

RedirectMatch 301 ^/blog/([^/]+)/([^/]+)/$ https://www.example.com/$2

总之,

www.mysite.com/blog/the-name-of-post重定向到www.example.com/the-name-of-post

www.example.com/page/1(或第2页,第3页等)不会重定向

由于

1 个答案:

答案 0 :(得分:0)

如果您不想在博客后显示page时重定向,则可以对page这个词进行否定匹配,如下所示:

RedirectMatch 302 /blog/(?!page).*$ https://www.example.com/

我并不完全清楚你的描述中所有不同的可能性,所以我只是给你一个不匹配的例子,当page出现在第二个位置时URI。