下面的代码有两件事:
1)它将添加(或删除)www。您网域内所有网页的前缀。
2)以下代码会将http://domain.com版本的访问者重定向到http://www.domain.com。
我的问题:在index.php页面中插入以下代码是否足以创建301重定向,该重定向将适用于我正在处理的网站的所有页面?
<?php
if (substr($_SERVER['HTTP_HOST'],0,3) != 'www') {
header('HTTP/1.1 301 Moved Permanently');
header('Location: http://www.'.$_SERVER['HTTP_HOST']
.$_SERVER['REQUEST_URI']);
}
?>
答案 0 :(得分:3)
我的问题:在index.php页面中插入以下代码是否足以创建301重定向,该重定向将适用于我正在处理的网站的所有页面?
没有。这仅适用于http://www.example.com/index.php
而不适用于http://www.example.com/whatever/whatever/file.php
。你最好使用Apache mod_rewrite来完成这项任务。您可以将其粘贴到文档根/.htaccess
文件中。
# Rewrite "example.com -> www.example.com".
<IfModule mod_rewrite.c>
Options +FollowSymlinks
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteCond %{HTTP_HOST} !^www\..+$ [NC]
RewriteRule ^ http://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</IfModule>