uri重定向域名更改

时间:2012-09-21 16:25:29

标签: php apache .htaccess redirect apache2

我不是最好的,但我必须做一个重定向

domain1.tld/subfolder/seo/based/uri

我需要重定向到

subd.domain2.tld/seo/based/uri

可能吗?

修改

忘记提及,这些所有动态请求。像:

domain1.tld/forums/forum/2-network-announcements/topic-name-with-id

3 个答案:

答案 0 :(得分:0)

这可以在.htaccess或PHP中完成,但我发现它在PHP中更容易。

要这样做,第一个URL的PHP​​文件应包含:

<?php
    header("Location: http://subd.domain2.tld/seo/based/uri");
?>

此处有更多信息:http://php.net/manual/en/function.header.php

答案 1 :(得分:0)

立即从.htaccess重定向。这意味着,如果从.htaccess重定向,则不会在domain1.tld / subfolder / seo / based / uri上运行任何代码。如果这是您想要的,那么将这些行添加到.htaccess:

RewriteEngine On
RewriteRule ^domain1.tld/subfolder/(.*)$ subd.domain2.tld/$1

如果你想在domain1.tld / subfolder / seo / based / uri上运行一些代码,那么请阅读@ tomtheman5的答案,因为这将更接近你想要的。

答案 2 :(得分:0)

在htaccess文件或vhost for domain1.tld中,添加:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www\.)?domain1.tld$ [NC]
RewriteRule ^/?subfolder/(.*) http://subd.domain2.tld/$1 [L,R=301]

如果2个主机具有不同的文档根目录,您还可以使用mod_alias:

Redirect 301 /subfolder http://subd.domain2.tld