web-dev-qa-db-ja.com

同じサイトのCloudFlareで2つのドメインのリダイレクトを管理する

次の2つのドメインがあるとしましょう:

  • example.com.uy
  • example.uy

私の目標は、301 [リダイレクト]を使用してSEOのベストプラクティスに従って適切なドメインのフォワードを設定し、ユーザーがwww.example.com.uyから来て常にexample.uyでサイトを閲覧するように強制することです/cat/item/1?qwe=rtyのようなURLの残りの部分。

私はCloudFlareを無料パッケージで使用していますが、ページルールは必要なもののようですが、転送を適切に設定する方法がわかりません。おそらく、ドメインレジストラーパネルでも何かを構成する必要があります。

私が達成したいリダイレクトの種類の例は次のとおりです:

  • http://example.uy/cat/item/1?qwe=rty> http://www.example.com.uy/cat/item/1?qwe=rty

サブドメインの例:

http://shop.example.uy/cat/item/1?qwe=rty> http://shop.example.com.uy/cat/item/1?qwe=rty

私が試してみました:

  • example.uy/*
  • 転送先:http://www.example.com.uy/$1
  • 転送タイプ:302 Temporary

残念ながら、これは成功しません。私の.uyドメインにはまだ設定がなく、単に.com.uyに以前使用したのと同じデータを使用すべきかどうかわからないからです。

したがって、実際の状態は次のとおりです。 A, AAAA, CNAME Screenshot

5
Frondor

私が行う方法は、2つのドメインをcloudflareに追加し、それを通常どおりホスティングに制限することです。ホスティングcpanelで、両方のドメインを追加し、このサイトがメインサイトに永続的にリダイレクトされるようにcpanelで設定します。

1

ページルールを使用して、または少なくとも無料プランでそれを行うことはできないと思います。ただし、htaccess/vhostサーバー側のルールを使用できます(すでにhtaccessにあるかどうかに応じて、RewriteEngine Onを含める必要があるかどうかが必要です)

RewriteEngine On

RewriteCond %{HTTP_Host} ^(www\.)?example\.uy$ [NC]
RewriteRule ^(.*)$ "https://www\.example\.com\.uy/$1" [R=301,L]

スクリプト側で行うこともできます。PHPでの方法は次のとおりです。

header($_SERVER['SERVER_PROTOCOL'] . ' 301 Moved Permanently');
header('Location: https://' . str_replace(array('&', "\n", "\r"), array('&', '', ''), 'www.example.uy' . $_SERVER['REQUEST_URI']));
1
dhaupin