将URL重定向到另一个URL

时间:2010-08-03 13:30:04

标签: apache redirect

我有以下情况,并且不确定如何解决它。

基本上有一个用户可以通过电子邮件中存在此URL的位置访问以下页面。

例如:http://www.abc.example/yourdetails.html

我的问题是,我现在被告知整个网络应用程序正在转移到一个新域名,即

http://www.xyz.example/yourdetails.html

假设访问网络中的两个域(内联网)没有问题,如何在单击电子邮件中的链接时重定向用户,该链接不再是实际调用新URL的正确链接:

http://www.abc.example/yourdetails.html

我基本上希望确保即使用户的电子邮件中包含旧网址,但在点击此旧网址时,实际上会跳转到新的正确网址。

希望这是有道理的。

感谢。

9 个答案:

答案 0 :(得分:4)

  1. 如果网站没有更改结构,您可以将xyz.com域指向DNS中的abc.com。

  2. 我认为您可以使用modrewrite配置apache来重写从旧域到新域的调用。如果域位于不同的服务器上,则可能无法执行此操作。

  3. 您可以在http://www.xyz.com/yourdetails.html修改页面并添加重定向标题(可能还有解释)以重定向到新页面。

答案 1 :(得分:1)

在您使用正确的域发送新电子邮件之前,您需要在xyz.com域上使用301永久重定向。您可以使用.htaccess文件来执行此操作。 Google提供特定于您的网络服务器的信息。 This Site似乎具有特定于Apache的良好信息。

答案 2 :(得分:1)

通过Apache的mod_rewrite模块。您可以创建类似(在旧域上)的内容:

RewriteRule ^ yourdetails.html $ http://www.xyz.com/yourdetails.html [R = 301,L]

答案 3 :(得分:0)

<script>
window.location='http://newurl.com/page.html'
</script>

甚至更好(所有网页只有一个代码段)

<script>
window.location='http://newurl.com'+window.location.pathname
</script>

答案 4 :(得分:0)

将此元标记添加到abc域的页面顶部。

<META HTTP-EQUIV="refresh" CONTENT="0;URL=http://www.xyz.com/yourdetails.html">

希望这有帮助。

答案 5 :(得分:0)

根据定义,网址指向单个网络资源,您可以做的是配置您的网络服务器以将多个网址映射到同一网络资源。

有关如何在Apache上执行此操作的更多信息,请参阅this

答案 6 :(得分:0)

如果您使用的是apache服务器,这听起来像是mod_rewrite的工作。

尝试http://corz.org/serv/tricks/htaccess2.php http://httpd.apache.org/docs/2.0/rewrite/rewrite_guide.html

答案 7 :(得分:0)

PHP中的

:     &LT; ?PHP     标题(“位置:http://www.abc.com/yourdetails.html”);     ?&GT;

答案 8 :(得分:0)

或者在旧位置使用php脚本:

<?php
    header( 'Location: http://new_page.html' ) ;
?>