3

我做 SEO 的公司已经更改了他们的域名。

我已经编写了 301 次重写以将流量重定向到新域。到目前为止,我已经重写了 3 个更改,其中有很多。等我全部做完之后,大概要重写 30 次,这看起来有点傻!

是否有一个通配符可以用来确保满足以下 3 个参数?

  1. 必须始终指向 www。版本。
  2. 必须始终指向 co.uk 版本。
  3. 必须始终将旧 URL 更改为新 URL。

会是这样的……

(.*)example-old(.*)= www.example-new.co.uk

(.*)example-old(.*)/(.*)= www.example-new.co.uk/directory

下面的代码解决了问题 3,但它并不能解决所有问题。

如果我可以使用一小段代码,它使用通配符,这将是完美的。

任何帮助,非常感谢!


# 301 --- http://example.co.uk => http://www.example-new.co.uk
RewriteCond %{HTTP_HOST} ^example\.co\.uk$
RewriteRule ^$ http://www.example-new.co.uk/? [L,R=301]

# 301 --- http://www.example.co.uk => http://www.example-new.co.uk
RewriteCond %{HTTP_HOST} ^www\.example\.co\.uk$
RewriteRule ^$ http://www.example-new.co.uk/? [L,R=301]

# 301 --- http://example.com => http://www.example-new.co.uk
RewriteCond %{HTTP_HOST} ^example\.com$
RewriteRule ^$ http://www.example-new.co.uk/? [L,R=301]

# 301 --- http://www.example.com => http://www.example-new.co.uk
RewriteCond %{HTTP_HOST} ^www\.example\.com$
RewriteRule ^$ http://www.example-new.co.uk/? [L,R=301]
4

1 回答 1

11

假设您没有其他子域但是,如果不是相同的根,您可以在相关域的根www上的文件中使用这个简单的规则:.htaccessexample-new.co.uk

RewriteEngine On
# anything that is not equal to www.example-new.co.uk
RewriteCond %{HTTP_HOST} !^www\.example-new\.co\.uk$
# redirects to http://www.example-new.co.uk/anything
RewriteRule ^/?(.*)$ http://www.example-new.co.uk/$1 [R=301,L]

它将使用 URL 路径将任何不是 www.example-new.co.uk 的内容重定向到新域。

所以,如果我访问:

http://example-new.co.uk/new-league <<< no wwww

我将被重定向到:

http://www.example-new.co.uk/new-league

如果我访问:

http://www.example-new.com/new-league <<< ends with .com
http://www.example-old.co.uk/new-league <<< domain is different
http://example-old.co.uk/new-league <<< domain is different

所以上述所有 3 也将重定向到:

http://www.example-new.co.uk/new-league
于 2013-08-26T01:49:47.037 回答