我无权修改htaccess文件。我现在可以做什么将我的www域名转发到根域。
前:
www.bulkanswer.com to bulkanswer.com
答案 0 :(得分:1)
为了将所有请求重定向到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文件可能也会破坏您的网站。尽管如此,除非您的网站目前设置得像这样(我非常怀疑),否则很难重定向除索引页面之外的任何内容等。
答案 1 :(得分:0)
如果您可以使用PHP,则可以设置location
header。
$url = 'http://yourdomain.com';
header( 'Location: ' . $url );
你想在条件中执行此操作,检查非www通过,例如$_SERVER
var。
注意:如果您的根域重定向到www,则会导致无限循环。
答案 2 :(得分: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这一点非常重要,以便重定向缓存在浏览器中,并且不会因为您的网站搜索引擎优化而产生任何问题。
一些注意事项:根据您的网站创建方式,可能有比使用REQUEST_URI更好的方法,但这是一个非常简单的解决方案,应该适用于大多数情况。发送表单然后重定向可能会出现问题(无法记住我的头脑),因此请确保您自己的HTML中的所有链接始终指向非www版本。