【问题标题】:Redirect second domain name?重定向第二个域名?
【发布时间】:2012-05-10 11:35:15
【问题描述】:

我有以下 .htaccess 文件,它适用于 www.companyone.com:

RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^(.*)$ /index.php?/$1 [L]

我还有指向同一个站点的域 www.companytwo.com,即 www.companyone.com。问题是当有人使用 www.companytwo.com 并正确转到原始网站时,该 url 仍然包含 www.companytwo.com,而它应该变成 www.companyone.com。

实际上,我最终得到了 2 个重复的网站,这对 seo 不利。使用上面的 .htaccess 文件,我已经确保如果用户键入 companyone.com,他们会自动重定向到 www.companyone.com。我对 www.companytwo.com 也需要同样的东西,即 companytwo.com 和 www.companytwo.com 应该变成 www.companyone.com。

这是我需要通过 .htaccess 文件或一些虚拟服务器文件来解决的问题吗?

【问题讨论】:

    标签: apache .htaccess apache2


    【解决方案1】:

    您可以使用 .htacces 将浏览器重定向到您的 www.companyone.com 站点:

    # Redirect to www.companyone.com
    RewriteEngine On
    RewriteCond %{HTTP_HOST} ^companytwo.com$ [OR]
    RewriteCond %{HTTP_HOST} ^companyone.com$ [OR]
    RewriteCond %{HTTP_HOST} ^www.companytwo.com$
    RewriteRule (.*)$ http://www.companyone.com/$1 [R=301,L]
    
    # If your example works, this rewrite to index.php/$1
    RewriteCond %{REQUEST_FILENAME} -f [OR]
    RewriteCond %{REQUEST_FILENAME} -l [OR]
    RewriteCond %{REQUEST_FILENAME} -d
    RewriteRule ^.*$ - [NC,L]
    RewriteRule ^(.*)$ /index.php?/$1 [L]
    

    【讨论】:

    • 如何将它集成到我现有的 .htaccess 文件中?
    • 我不明白,companyone 和 companytwo 具有相同的根目录、相同的服务器、相同的网站,因此它们必须具有相同的 .htaccess 文件。所以基本上,我想我也需要更改 companyone 的 .htaccess 文件以适应 companytwo。这就是为什么我问如何将您的建议整合到我当前的 .htaccess 文件中。
    • 好吧,我误会你了,我以为有 2 个 webroots。现在测试我的解决方案,这应该可以工作。等等:你还重定向到 index.php?...我错过了。我会在几分钟内找到合适的解决方案
    • 如果你当前的重写工作,这也工作。将这些放在一个文件中。告诉我这是否有效,否则你必须改变规则的顺序。
    猜你喜欢
    • 2012-10-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-17
    相关资源
    最近更新 更多