2012-06-21 37 views
1

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

例:

www.bulkanswer.com to bulkanswer.com 
+0

联系您的托管服务提供商。 –

+1

我可以使用PHP吗?我可以重定向所有的URL – Swadesh

回答

0

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

$url = 'http://yourdomain.com'; 
header('Location: ' . $url); 

你会想做这里面一个条件,对于通过非www,例如把关,$_SERVER变种。

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

1

为了将所有请求重定向到www.example.comexample.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/anythinghttp://example.com/anything

有可能用PHP来做到这一点,但为了做到这一点,你必须有你的服务器配置为发送所有请求给定的PHP文件,这将处理重定向。在Apache上,您可能会在复杂性方面寻找与上述类似的配置,再加上实际的PHP重定向。将所有请求发送到该PHP文件可能也会破坏您的网站。尽管如此,除非你的网站目前设置为这样(我对此非常怀疑),除了你的索引页面之外,很难重定向任何东西。

+0

“我没有权利修改htaccess文件” – buley

0

可以在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,从而使重定向在浏览器缓存非常重要的,你不具有与问候竞争领域引起任何问题到您的网站SEO。

的几个注意事项:有可能会比使用REQUEST_URI取决于如何建立您的网站更好的办法,但是这是一个非常简单的解决方案,应该在大多数情况下工作。发送表单可能会有问题,然后重定向(不能记住我的头顶),所以请确保您自己的HTML中的所有链接始终指向非www版本。