.htaccess重写url结构的重写规则

时间:2016-10-07 11:42:47

标签: apache .htaccess redirect mod-rewrite

我有以下网址:

www.example.com/category/news/article-name

我需要删除category/news并重定向到:

www.example.com/article-name

我有以下RewriteRule工作:

RewriteRule ^category/news/(.*)$ https://example.com/$1 [R=301,L]

但是,我需要编辑上面的RewriteRule以允许加载下面的URL而不重定向:

www.example.com/category/news /

目前此网址重定向到www.example.com

这可能吗?

2 个答案:

答案 0 :(得分:1)

只需在规则中将.*(0或者字符)更改为.+(1个或多个字符):

RewriteRule ^category/news/(.+)$ /$1 [R=301,L,NC,NE]

现在它不会影响/category/news/网址。

请记住在测试此更改时清除浏览器缓存。

答案 1 :(得分:0)

尝试重写而不是重定向,在这种情况下,您可以调用内部重写为www.example.com/article-name的{​​{1}}

请检查。

www.example.com/category/news/article-name