Apache Conditional RedirectMatch

时间:2016-01-11 10:13:43

标签: apache .htaccess redirect

我已将网站从/ blog /移至网络根目录。我为我的网址创建了一个RedirectMatch 301,我认为这是正确的:

RewriteEngine On
RewriteBase /
RedirectMatch 301 ^/blog/(.*)$ /$1

这可以正常工作。现在,domain.tld / blog / foo /重定向到domain.tld / foo /

然而,有一个问题。网站上有一个slug:/ blog /

页面

现在您无法访问该页面,因为domain.tld / blog /重定向到domain.tld /

所以我想要完成的不是重定向/博客/,而是重定向/博客/所有/其他/

domain.tld / blog / no redirection

domain.tld / blog / foo /重定向到domain.tld / foo /

domain.tld / blog / foo / bar /重定向到domain.tld / foo / bar / 等

非常感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

你能试试吗?我认为它需要一点改变:

RewriteEngine On
RewriteBase /
RedirectMatch 301 ^/blog/(.+)$ /$1

请记住在测试之前清除浏览器上的缓存+历史记录,浏览器会记住301重定向规则。

希望有所帮助。