为单个页面而非子页面创建apache重定向

时间:2018-11-07 15:37:55

标签: apache

我正在尝试做一个简单的Apache Redirect,该页面将单个页面重定向到新的URL,而不重定向到子页面。例如

将www.mysite.com/old重定向到www.mysite.com/new

我不想将www.mysite.com/old/page1重定向到www.mysite.com/new/page1或/ old的任何子页面。

使用重定向,例如以下DOES包括子页面:

Redirect 302 /old /new

如何仅重定向首页/父页面而不重定向子页面?

2 个答案:

答案 0 :(得分:0)

使用RewriteCondRewriteRule,如下所示:

RewriteCond %{REQUEST_URI} ^/old$
RewriteRule "(.*)" "http://www.example.com/new" [R=302,L]

通过这种方式,您可以验证所请求的URI是否为“ / old”,而不是其他任何内容。

^/old$

  • ^
  • 开头
  • $结尾
  • R=302:如果需要,您可以设置其他状态,例如301
  • L:最后一次重写以进行验证,请勿应用进一步的重写

如果您尝试http://www.example.com/old/somepage.html,则它将与RewriteCond不匹配,因为它与^/old$不匹配,并且将不会重定向。

答案 1 :(得分:0)

这就是我想要的:

RedirectMatch permanent ^/old$ /new