Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
三个域重定向到主域最佳实践apache2_Apache_Redirect_Seo_Dns - Fatal编程技术网

三个域重定向到主域最佳实践apache2

三个域重定向到主域最佳实践apache2,apache,redirect,seo,dns,Apache,Redirect,Seo,Dns,我有三个域名:domain.com、domain.de和domain.co.uk。com域是一个全局(主)域,其他域是特定于国家/地区的域。我想将co.uk和.de域重定向到domain.com/de/和domain.com/uk/ 在apache上执行此操作的最佳方式是什么?在htacess文件中使用重写规则?还是使用php?做301重定向(SEO明智)更好吗 谢谢你的回复 使用apache的重写模块。不需要运行php解释器 这里应该使用301,但搜索引擎不会为相关域编制索引。当然最好的方法是

我有三个域名:domain.com、domain.de和domain.co.uk。com域是一个全局(主)域,其他域是特定于国家/地区的域。我想将co.uk和.de域重定向到domain.com/de/和domain.com/uk/

在apache上执行此操作的最佳方式是什么?在htacess文件中使用重写规则?还是使用php?做301重定向(SEO明智)更好吗


谢谢你的回复

使用apache的重写模块。不需要运行php解释器


这里应该使用301,但搜索引擎不会为相关域编制索引。

当然最好的方法是使用301重定向。这是谷歌的建议。 htaccess中的类似内容应该可以工作:

    Redirect 301 / http://www.example.com/
最好是在服务器级而不是应用程序级(apache重写规则比php好)。这是因为它会更快,而且它是服务器的角色,而不是应用程序的角色

但是,如果所有域都有一个htaccess文件,则可能需要使用条件语句,例如:

    RewriteCond %{HTTP_HOST} !^www\.example\.com
    RewriteRule (.*) http://www.example.com/$1 [R=301,L]
当当前域不是www.example.com时,它始终执行301重定向。
请注意,example.com和www.example.com是两个不同的东西!因此,您应该决定要使用哪一个(带或不带www)并开始使用。

只要主域正确(按国家/地区)编制索引,这不是问题。