0

我有一个域 abc.ca 已经在运行,谷歌抓取了那个 url。

现在我要去 abc.com

那么我如何管理 abc.ca -> abc.com 的所有 URL

使用 htacees。网站是用 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

我有类似的问题,但是是跨域的

点击这里

我通过这个解决了我的问题。

您甚至可以通过 dns 中的 cname 条目来执行类似的两个域中的操作。

于 2013-08-05T07:32:23.903 回答
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 回答