htaccess 301重定向通配符以获取新的基本域名

Inv*_*nge 3 .htaccess mod-rewrite seo http-status-code-301

我做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]
Run Code Online (Sandbox Code Playgroud)

Pri*_*rix 9

假设您没有其他子域,但是www,.htaccess如果不是相同的根,您可以在您所涉及的域的根目录上使用这个简单的规则example-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]
Run Code Online (Sandbox Code Playgroud)

它会将任何非www.example-new.co.uk的内容重定向到新域的URL路径.

所以,如果我访问:

http://example-new.co.uk/new-league <<< no wwww
Run Code Online (Sandbox Code Playgroud)

我将被重定向到:

http://www.example-new.co.uk/new-league
Run Code Online (Sandbox Code Playgroud)

如果我访问:

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
Run Code Online (Sandbox Code Playgroud)

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

http://www.example-new.co.uk/new-league
Run Code Online (Sandbox Code Playgroud)