Php 如何将我的www域名转发到根域

Php 如何将我的www域名转发到根域,php,web,Php,Web,我无权修改htaccess文件。我现在可以做什么将我的www域名转发到根域 例: 如果可以使用PHP,则可以设置位置 您可能希望在一个条件中执行此操作,该条件通过例如$\u服务器var来检查非www 注意:如果你的根域重定向到www,你将导致无限循环。如果你可以使用PHP,你可以设置一个位置 您可能希望在一个条件中执行此操作,该条件通过例如$\u服务器var来检查非www 注意:如果您的根域重定向到www,您将导致无限循环。为了将所有请求重定向到www.example.com到example.c

我无权修改htaccess文件。我现在可以做什么将我的www域名转发到根域

例:


如果可以使用PHP,则可以设置
位置

您可能希望在一个条件中执行此操作,该条件通过例如
$\u服务器
var来检查非www


注意:如果你的根域重定向到www,你将导致无限循环。

如果你可以使用PHP,你可以设置一个
位置

您可能希望在一个条件中执行此操作,该条件通过例如
$\u服务器
var来检查非www


注意:如果您的根域重定向到www,您将导致无限循环。

为了将所有请求重定向到
www.example.com
example.com
,您需要进行一定量的服务器配置(例如.htaccess修改)。通常,您可以通过.htaccess(或httpd.conf)这样做:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.example\.com$
RewriteRule ^(.*)$ http://example.com/$1 [R=301,QSA]
这将重定向
http://www.example.com/anything
http://example.com/anything


使用PHP可以做到这一点,但为了做到这一点,必须将服务器配置为将所有请求发送到给定的PHP文件,该文件将处理重定向。在Apache上,您可能会看到与上述配置在复杂性方面有些类似的配置,再加上实际的PHP重定向。向该PHP文件发送所有请求可能也会破坏您的网站。不过,除非您的网站目前是这样设置的(我非常怀疑),否则很难重定向除索引页以外的任何内容。

为了将所有请求重定向到
www.example.com
example.com
,您需要进行一定量的服务器配置(例如,.htaccess修改)。通常,您可以通过.htaccess(或httpd.conf)这样做:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.example\.com$
RewriteRule ^(.*)$ http://example.com/$1 [R=301,QSA]
这将重定向
http://www.example.com/anything
http://example.com/anything

使用PHP可以做到这一点,但为了做到这一点,您必须将服务器配置为将所有请求发送到给定的PHP文件,该文件将处理重定向。在Apache上,您可能会看到与上述配置在复杂性方面有点类似的配置,再加上实际的PHP重定向。将所有请求发送到该PHP文件P文件可能也会破坏你的网站。不过,除非你的网站目前是这样设置的(我非常严重地怀疑),将很难重定向除索引页以外的任何内容,等等。

如果必须,您可以在PHP中执行此操作,但如果有可能,htaccess路由要好得多。下面是一些代码,可以完成您的任务:

// Check if the current request has www in the server name
if (substr($_SERVER['SERVER_NAME'], 0, 3) === "www") {
   // Redirect required so ensure you use a 301
   header("HTTP/1.1 301 Moved Permanently");
   header("Location: http://example.com" . $_SERVER['REQUEST_URI']);
}
这是非常重要的,你使用301,以便重定向缓存在浏览器中,你不会造成任何问题,有竞争的领域,就你的网站搜索引擎优化

几点注意:可能有比使用REQUEST_URI更好的方法,具体取决于网站的创建方式,但这是一个非常简单的解决方案,在大多数情况下都应该有效。发送表单时可能会出现问题,然后被重定向(我记不得了)因此,请确保您自己的HTML中的所有链接始终指向非www版本。

如果必须,您可以在PHP中执行此操作,但如果有可能,htaccess路由会更好。以下是一些代码,可以完成您所需的工作:

// Check if the current request has www in the server name
if (substr($_SERVER['SERVER_NAME'], 0, 3) === "www") {
   // Redirect required so ensure you use a 301
   header("HTTP/1.1 301 Moved Permanently");
   header("Location: http://example.com" . $_SERVER['REQUEST_URI']);
}
这是非常重要的,你使用301,以便重定向缓存在浏览器中,你不会造成任何问题,有竞争的领域,就你的网站搜索引擎优化


几点注意:可能有比使用REQUEST_URI更好的方法,具体取决于网站的创建方式,但这是一个非常简单的解决方案,在大多数情况下都应该有效。发送表单时可能会出现问题,然后被重定向(我记不得了)因此,请确保您自己的HTML中的所有链接始终指向非www版本。

请与您的主机提供商联系。我可以使用PHP重定向所有URL吗?请与您的主机提供商联系。我可以使用PHP重定向所有URL吗