【问题标题】:Redirect subdomain to domain with change in path将子域重定向到路径更改的域
【发布时间】:2014-08-02 06:23:33
【问题描述】:

我有一个带有子域的 wordpress 多站点安装。我想通过以下方式将我的一个子域重定向到域:

  • subdomain.domain.com => domain.com
  • subdomain.domain.com/pages => domain.com/pages
  • subdomain.domain.com/category-X/posts => domain.com/category-X/posts
  • subdomain.domain.com/category-Y/one-old-subcategory/posts => domain.com/one-new-subcategory/posts
  • subdomain.domain.com/categories/subcategories/posts => domain.com/subcategories/posts

我找不到正确的顺序并重写规则来实现这一点。 任何帮助将不胜感激。

【问题讨论】:

    标签: wordpress apache .htaccess redirect


    【解决方案1】:

    首先重定向所有特定的内容:

    RewriteEngine On
    
    RewriteCond %{HTTP_HOST} ^subdomain\.domain\.com [NC]
    RewriteRule ^categories/subcategories/(.*)$ http://domain.com/subcategories/$1 [L,R]
    
    RewriteCond %{HTTP_HOST} ^subdomain\.domain\.com [NC]
    RewriteRule ^category-Y/one-old-subcategory/(.*)$ http://domain.com/one-new-subcategory/$1 [L,R]
    

    然后是其他的:

    RewriteCond %{HTTP_HOST} ^subdomain\.domain\.com [NC]
    RewriteRule ^(.*)$ http://domain.com/$1 [L,R]
    

    【讨论】:

    • 感谢@Jon 的回复。我有 4 个类别和 15 个子类别,所以请您概括一下第一个 RewriteRule。一个旧子类别的重写规则也与第一个 RewriteRule 匹配。不会受到影响吗?
    • 所以如果我有 20 页, sub.main.org/page1 > main.org/newpage1 。我需要添加 20 条规则吗?每个页面一个,主页和 404 一个?
    猜你喜欢
    • 1970-01-01
    • 2016-10-07
    • 1970-01-01
    • 2019-07-16
    • 2016-04-03
    • 1970-01-01
    • 2017-02-02
    • 2021-04-23
    • 1970-01-01
    相关资源
    最近更新 更多