服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - PHP教程 - php强制用户转向www域名的方法

php强制用户转向www域名的方法

2020-09-30 16:44不吃皮蛋 PHP教程

这篇文章主要介绍了php强制用户转向www域名的方法,可实现模拟301重定向的功能,并且针对无法head重定向的情况输出链接,需要的朋友可以参考下

本文实例讲述了php强制用户转向www域名的方法。分享给大家供大家参考。具体分析如下:

有时候网站的www域名和非www域名都能访问网站,但是这样不利于搜索引擎的收录,会分散网页的权重,所以希望用户访问非www的域名时通过301永久重定向到www域名,例如用户访问zzvips.com会直接转向www.zzvips.com,本php代码考虑了无法通过head重定向的情况,会在页面上输出链接,让用户点击。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
// Install info.:
// Copy and paste these lines into your default index.php or
// the file that get's called if a visitor comes on your
// website...
// read the host from the server environment
$host = $_SERVER["HTTP_HOST"];
// fix host name - we never now... ;-)
$host = strtolower($host);
$host = trim($host);
// This is important:
// Webbrowsers like Firefox are doing their request without
// the port number like "www.zzvips.com" but some other
// applications send host names like "www.zzvips.com:80"
$host = str_replace(':80', '', $host);
$host = trim($host);
// if the host is not starting with www. redirect the
// user to the same URL but with www :-)
if ($host != 'www.zzvips.com'){
  // You an also change the "!=" to "==", if you want to force
  // the user to use the domain name without the www.
  // send status header, so that search engines or other services
  // detect that this is a permanent redirect and not a temporary
  header('HTTP/1.1 301 Moved Permanently');
  // read the URL the user requested:
  $url = isset($_SERVER["REQUEST_URI"]) ? $_SERVER["REQUEST_URI"] : '';
  // redirect the user to the new destination:
  header('Location: http://www.zzvips.com' . $url);
  // Convert "special" chars -- cause we never now... ;-)
  $url = htmlspecialchars($url);
  // "fallback" link, if the browser is not supporting header redirects
  print '<a href="http://www.zzvips.com' . $url.'">Please click here</a>';
  // stop the script execution here
  exit;
}
// If the domain is www.zzvips.com then go on with your PHP code
// of with your website...
// BTW: You need to replace zzvips.com trough your own domain :-D

希望本文所述对大家的php程序设计有所帮助。

延伸 · 阅读

精彩推荐