【问题标题】:htaccess redirect .co.uk to .com for all pageshtaccess 将所有页面的 .co.uk 重定向到 .com
【发布时间】:2018-03-19 12:26:03
【问题描述】:

我正在将我的网站从 .co.uk 迁移到 .com,但需要设置 301 重定向,以便所有单独的页面仍能正确路由。

我想让http://www.mydomain.co.uk/shopping/product1 转到http://www.mydomain.com/shopping/product1

我以前做过,但我这辈子都不记得怎么做了。

非常感谢

保罗

【问题讨论】:

    标签: .htaccess dynamic


    【解决方案1】:
    RewriteEngine On
    RewriteBase /
    
    RewriteCond %{HTTP_HOST} ^(www\.)?mydomain\.co\.uk$ [NC]
    RewriteRule ^(.*)$ http://www.mydomain.com/$1 [R=301,L]
    

    这会将 mydomain.co.uk 的 www 和非 www 重定向到 www.mydomain.com

    【讨论】:

    • 完美!如何处理 .com 的 www 和非 www ?这样所有四个场景(www 和非 www、.co.uk 和 .com)都转到同一个 www.mydomain.com?
    • 在你的第一个之后添加第二个 RewriteCond 就足够了......就像这样:
    • RewriteCond %{HTTP_HOST} ^mydomain\.com$ [NC]
    • @hawbsl:上述条件使www 可选,因此它将在请求中同时提供www.mydomain.co.ukmydomain.co.uk 域。
    • @hawbsl 不确定它是否与您的情况相关,但由于原始问题显然与网上商店有关(从 URL 判断),您可能仍想指定您的问题是否与常规 ole 有关HTTP 或在某些时候还涉及安全连接 (HTTPS)。
    【解决方案2】:

    要重定向mydomain.com 以外的任何(子)域,请使用

    RewriteEngine On
    RewriteBase /
    RewriteCond %{HTTP_HOST} !^mydomain.com$ [NC]
    RewriteRule ^(.*)$ http://mydomain.com/$1 [L,R=301]
    

    如果您有其他域指向同一网站,这可能会很有用。

    它还将www.mydomain.com 重定向到mydomain.com

    【讨论】:

      【解决方案3】:

      这是通过在您的 .htaccess 文件中进行简单的重写来完成的。

      RewriteEngine On
      RewriteBase /
      RewriteCond %{HTTP_HOST} ^mydomain.co.uk$ [NC]
      RewriteRule ^(.*)$ http://mydomain.com/$1 [L,R=301]
      

      【讨论】:

      • 这可能有点激进。考虑用户是否有其他不希望重定向的域。
      • 此规则集的 RewriteCond 将限制 RewriteRule 仅影响 mydomain.co.uk 主机。
      • 不,您正在否定条件 (!)。所以这会读取任何不是 mydomain.co.uk 的内容。
      • 哎呀。你是对的。诚然,我的回答涉及复制+粘贴,我匆忙中错过了。
      猜你喜欢
      • 2016-06-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-21
      • 1970-01-01
      • 2018-11-03
      • 2016-07-20
      相关资源
      最近更新 更多