【问题标题】:redirect a parked domain page to main domain将停放的域页面重定向到主域
【发布时间】:2018-04-01 12:20:14
【问题描述】:

我有一个像 example.org 这样的停放域和一个像 example.ir 这样的主域 我想当用户在停放域中并转到 example.org/checkout 时重定向到 example.ir/checkout 仅适用于此页面,并且仅当用户位于停放域中时。 我使用此代码但不起作用:

RedirectMatch 301 https://example.org/checkout(.*) https://example.ir/checkout$1

我能做什么?

【问题讨论】:

    标签: .htaccess redirect woocommerce dns


    【解决方案1】:

    您可以使用以下内容:

    RewriteEngine on
    
    RewriteCond %{HTTP_HOST} ^(www\.)?example\.org$
    RewriteRule ^checkout/?$ http://example.ir%{REQUEST_URI} [L,R]
    

    确保在测试之前清除浏览器缓存。

    【讨论】:

    • 对事先检查域有意义。
    • 它工作正常。但产品主要在 .org/checkout 中,而不是添加到 .ir/checkout 页面。
    • 我可以将主域的所有页面重定向到托管域吗?
    • @Muhama 是的,您可以将所有页面从您的主域重定向到停放的页面。您需要为此使用以下规则:RewriteEngine on RewriteCond %{HTTP_HOST} ^(www\.)?maindomain\.com$ RewriteRule ^.*$ http://parked domain.com%{REQUEST_URI} [NE,L,R]
    【解决方案2】:

    mod_alias RedirectMatch 中,您应该在旧 URI 中以斜杠开头,如下所示:

    RedirectMatch 301 /old(.*) https://example.com/new$1
    

    一般来说,如果从主域到其他域的路径如此,在您的情况下,您应该像这样使用mod_rewrite

    RewriteEngine On
    RewriteCond %{HTTP_HOST} ^(www\.)?example.org$ [NC]
    RewriteRule ^checkout(.*)$ https://%1example.ir/checkout$1 [R=301,L]
    

    根据上述规则,您首先要检查请求是否包含example.org,然后如果URI 以checkout 开头,然后将其重定向到主域。

    注意:清除浏览器缓存然后测试。

    【讨论】:

      【解决方案3】:

      在您的停放域服务器中尝试以下规则,

      RewriteEngine On
      RewriteCond %{REQUEST_URI} ^/checkout
      RewriteRule ^(.*)$ https://example.ir/$1 [R=302]
      

      【讨论】:

      • 我的主域中只有一个主机,当我在 htaccess 中插入上述代码时:当转到 /chekout 时重定向到主 .ir URL
      • 所以我认为您可能必须将上述内容插入到 htaccess 中的 org 域的虚拟主机中。
      • 虚拟主机在哪里?
      • 我可以将主域的所有页面重定向到托管域吗?
      猜你喜欢
      • 2021-08-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多