首页 > 解决方案 > 尝试指向新域时出现问题

问题描述

我有 2 个面板。两者都有一个域和一个服务器。两边的代码文件和数据库是一样的。我被告知将旧域指向新域。

我在索引文件和旧服务器中不受密码保护的所有公共文件中编写了以下代码。

<?php 
header("HTTP/1.1 301 Moved Permanently"); 
header("Location: http://www.New-Website.com"); 
?>

到目前为止一切正常。

问题详情

我在旧服务器中重命名了索引文件,因为它没有密码保护,然后尝试访问重命名的文件。

由于在旧域中找不到该文件,我收到了 Access Forbidden 错误。

您能否建议即使在我停止使用旧 cpanel 中的服务后,旧域是否可以指向新域?

标签: phpdns

解决方案


选项 1 使用 cPanel

cPanel 有一个名为“Assign Domain”的界面,它有 4 个步骤

(请注意,根据您的主机,您的 cPanel 风格可能与此不同,但步骤应该几乎相同)

第 1 步(输入域):

在这里,cPanel 将尝试解析您输入的域 (olddomain.com) 并检测它的当前 DNS 服务器

在此处输入图像描述

第 2 步(验证所有权):

在这里,您将验证您对 (olddomain.com) 的所有权。

cPanel 检测到 olddomain.com 当前由 NS1.SMARTNAME.COM 解析。

我使用 DNS 方法完全离开我的旧服务器,完全没有流量到旧服务器。如果您在 godaddy 这样的公司注册了您的域并且您的服务器和主机在另一家公司上,这也很方便。

在此处输入图像描述

第 3 步(选择 Addon 与 Parked):

在这里,您将为您的案例选择停放域

在此处输入图像描述

第 4 步(选择插件目录和子域):

此步骤仅适用于您选择新 adddomain 的 public_directory 和子域的插件域

选项 2 使用 1 个前端控制器 PHP 文件并重写规则(感谢 @tim 的评论)

在你的 httpd.conf 文件中添加一个重写规则,将每个请求发送到你的 frontController PHP 文件

RewriteEngine On
RewriteCond "%{REQUEST_URI}" "!=/frontController.SE.php"
RewriteRule .* /frontController.SE.php [L]

并创建一个名为的新 PHP 文件frontController.SE.php

<?php 
header("HTTP/1.1 301 Moved Permanently"); 
header("Location: http://www.New-Website.com");
exit; 
?>

这比在所有公共文件中处理相同的代码要好


推荐阅读