如何使用htaccess将域的主页重定向到另一个页面?

时间:2015-10-20 14:16:46

标签: .htaccess mod-rewrite redirect dns rewrite

我的网站有三个指向它的域名(.com,.co.uk,.fr)。

除主页/目标网页外,该网站的内容相同。我在网上搜索了大约10个不同的代码,我真的很感激一些帮助。

所以我想重定向:  http://www.example.co.ukhttp://www.example.co.uk/uk-homepage/  http://www.example.euhttp://www.example.eu/eu-homepage/

其他信息 主页是index.php

.com将显示默认的index.php,因此无需更改。 他们都使用相同的网站目录和文件。所以* .eu / about /与* .com / about /完全相同。我只需要2个域的主页在同一个站点上显示不同的页面。

我不希望.eu或.co.uk恢复为.com。他们都将自己的域名保留在地址栏中,我希望保持这种状态。 所以下面的代码不起作用。

RewriteEngine on
RewriteCond %{HTTP_HOST} ^example.eu [NC,OR]
RewriteCond %{HTTP_HOST} ^www.example.eu [NC]
RewriteRule ^(.*)$ http://example.com/$1 [L,R=301,NC]

301不会做这个工作 我有301用于旧页面,但301不适用于域,因为当我将完整的URL放入域时它不起作用.301仅适用于/ old-contact / / new-contect /。但他们不会为http://www.example.co.uk/old-contact/ http://www.example.co.uk/new-contact/工作。因此http://www.example.co.uk/index.php http://www.example.co.uk/uk-homepage/无法正常工作。

1 个答案:

答案 0 :(得分:1)

您可以使用以下规则:

RewriteEngine on

RewriteCond %{HTTP_HOST} ^(www\.)?example\.co\.uk$ [NC]
RewriteRule ^/?$ /uk-homepage/ [L,R=301]

RewriteCond %{HTTP_HOST} ^(www\.)?example\.eu$ [NC]
RewriteRule ^/?$ /ey-homepage/ [L,R=301]

请务必将这两条规则放在RewriteEngine On行的正下方。