Apache2 conf重定向

时间:2017-12-05 17:01:24

标签: regex apache url-redirection

寻找最佳做法。

我有2个域名,oldsite.commynewsite.com

将这些添加到我的oldsite.com apache2配置文件中:

#homepage 
Redirect 301 / https://www.mynewsite.org

#rest of pages
Redirect 301 /old/page/location1 https://www.mynewsite.org/some/new/page1
Redirect 301 /old/page/location2 https://www.mynewsite.org/another/new/page/here

我有大量的重定向(100+)。喜欢尽可能保持整洁。寻找最佳实践。有一天会说mynewsite.com更改。我希望能够只更新conf文件中的一个位置。

1 个答案:

答案 0 :(得分:1)

看起来您可以控制旧域上的Apache配置。

最好使用RewriteMap满足数千次重定向的要求。以下是如何使用它:

  1. httpd.conf文件中添加以下内容,以定义RewriteMap

    RewriteMap redirMap txt://full/path/to/redirects.txt
    
  2. /full/path/to/redirects.txt一样创建一个文本文件:

    /old/page/location1 /new/pag1
    /old/page/location2 /new/pag2
    / /
    
  3. 在apache配置或vhost配置或站点根目录中添加以下行.htaccess:

    Options +FollowSymLinks
    RewriteEngine on
    
    RewriteCond ${redirMap:$0} .
    RewriteRule .* https://www.mynewsite.org${redirMap:$0} [L,R=301,NE]
    
  4. 这对于mynewsite.com更改某些日期要求非常方便,因为您只需要在一个规则中更改域名