【问题标题】:Issue while trying to point to new domain尝试指向新域时出现问题
【发布时间】:2019-12-26 03:13:37
【问题描述】:

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

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

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

到目前为止一切正常。

问题详情

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

由于在旧域中找不到文件,因此出现访问禁止错误。

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

【问题讨论】:

  • 您需要将旧域设置为新域的停放域
  • 最好使用 htaccess 重写规则而不是在索引文件中添加重定向
  • 我建议添加cpanel标签

标签: php dns


【解决方案1】:

使用 cPanel 的选项 1

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 步(选择插件目录和子域):

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

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

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

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

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

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

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

【讨论】:

  • 在哪里可以搜索 httpd.config?
  • 还有一个问题。假设默认文件(index.php)被重命名或删除。然后它给出了一个错误访问被禁止,因为找不到文件。我也在其他文件上测试了这个问题。出现同样的问题。
  • @Pankaj httpd.conf 是 Apache 配置文件,你的网络服务器是 Apache 对吧?
  • @Pankaj 禁止访问与未找到文件不同,当您请求 index.php 时,您的浏览器中是否出现 404 错误?
  • 我的服务器是共享主机。没有root访问权限。那么,我应该在哪里找到 httpd.conf 文件呢?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-10-28
  • 2021-09-25
  • 2021-04-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-03-16
相关资源
最近更新 更多