在htaccess重定向中使用通配符?

时间:2014-05-02 08:36:39

标签: .htaccess mod-rewrite

我女朋友想禁用她的博客,并将所有流量重新导回她的网站。

我已将此添加到root的htaccess文件中:

RedirectMatch 301 ^/blog/$ http://www.site.co.uk

哪个重定向http://www.site.co.uk/blog没有任何问题,但是任何博文(即http://www.site.co.uk/blog/post-url)仍然会加载并且不会重定向。

我尝试过以下操作,不幸的是我无法从/ blog /重新指示子页面:

# Attempt 1
RedirectMatch 301 ^/blog/(.*)$ http://www.site.co.uk

#Attempt 2
RedirectMatch 301 ^/blog/*$ http://www.site.co.uk

以下是site.co.uk(Opencart)上的.htaccess file,以下是site.co.uk/blog/(Wordpress)上的.htaccess file

我已经尝试清除两个htaccess文件,所以唯一剩下的行是 RedirectMatch 301 ^/blog/$ http://www.site.co.uk但不幸的是,它仍然没有重定向/ blog / level之上的任何内容。

关于我做错了什么的想法吗?

谢谢:)

1 个答案:

答案 0 :(得分:1)

您是否有某种原因要使用RedirectMatch? 一个简单的重定向301应该完成这项工作:

RewriteEngine on
Redirect 301 /blog http://example.com

顺便说一句,在使用301(永久移动)之前,请改用302(暂时移动)。像这样你可以测试,你的浏览器和其他用户的浏览器不会缓存错误实现的重定向。为此,只需删除301.当一切正常时,再次添加:

RewriteEngine on
Redirect /blog http://example.com

如果重定向不起作用,请尝试清理浏览器缓存。可能会缓存一些旧规则。