0

1 つのドメイン abc.ca が既に実行されており、Google がその URL をクロールしました。

今、私はabc.comに行きます

では、abc.ca -> abc.com のすべての URL を管理するにはどうすればよいですか

htaceを使用しています。サイトは PHP Joomla で構築されています。

abc.ca/def.html -> abc.com/def.html

何千ページもあります。htaccessに個別の301リダイレクトが書けません。

PHPでこれを行うことができます

$uri =  "http://".$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'];
$newUrl = str_replace(".ca", ".com", $uri);
header("Location: " . $newUrl);

PHPサイトやhtaccessサイトでやったほうがいい?

4

4 に答える 4

1

これを試すことができます:

RewriteCond %{HTTP_HOST} !^www\.abc.\.com
RewriteRule ^(.*)$ http://www.abc.com/$1 [R=permanent,L]
于 2013-08-05T07:31:54.090 に答える
0

私はそれをテストしませんでしたが、次のようになるはずです:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^abc.ca$ [OR]
RewriteCond %{HTTP_HOST} ^www.abc.ca$
RewriteRule (.*)$ http://www.abc.com/$1 [R=301,L]

Redirect 301 /old/old.htm http://www.domain.com/new.htm

そうでなければ、この質問を見てみたいかもしれません

于 2013-08-05T07:33:27.053 に答える
0

これを試して

<FilesMatch "\.(tpl|ini|log)">
 Order deny,allow
 Deny from all
</FilesMatch>
    RewriteBase /
    RewriteRule ^sitemap.xml$ index.php?route=feed/google_sitemap [L]
    RewriteRule ^googlebase.xml$ index.php?route=feed/google_base [L]
    RewriteRule ^download/(.*) /index.php?route=error/not_found [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_URI} !.*\.(ico|gif|jpg|jpeg|png|js|css)
    RewriteRule ^([^?]*) index.php?_route_=$1 [L,QSA]

RewriteBase /ここで、ドメイン名に変更できます。サブドメインの場合、次のように指定できますRewriteBase /subfolder

于 2013-08-05T07:34:37.590 に答える
0

同様の問題がありましたが、クロスドメインの問題でした

ここをクリック

私はこれで問題を解決しました。

同様の 2 つのドメインと同様に、dns の cname エントリを介して行うこともできます。

于 2013-08-05T07:32:23.903 に答える