繁体   English   中英

在IIS上使用301将PHP重定向为www到非www

[英]PHP redirect for www to non-www with 301 on IIS

我想一劳永逸地解决这个问题:

<?php if ($_SERVER['HTTP_HOST'] != 'domain.com'){
header("Location: http://domain.com"
.$_SERVER['REQUEST_URI']);
} ?>

这会将所有流量发送到NON-WWW版本。

我的问题是-我可以添加“ header('HTTP / 1.1 301 Permanentlyly');' 安全又不会搞砸一切?

我使用的是IIS服务器,所以.htaccess不好,而且所有页面都用PHP编码-欢迎使用所有解决方案。

当然可以。 利用header()提供的所有参数:

<?php

if ($_SERVER['HTTP_HOST'] != 'domain.com'){
    header("HTTP/1.1 301 Moved Permanently", true, 301);
    header("Location: http://domain.com".$_SERVER['REQUEST_URI']);
}

最后一个参数是根据需要强制将响应代码设为301。

当然可以,它不会弄乱任何东西! 但是它必须位于标题位置行后面的if子句中:

<?php
if ($_SERVER['HTTP_HOST'] != 'domain.com'){
    header('HTTP/1.1 301 Moved Permanently');
    header("Location: http://domain.com".$_SERVER['REQUEST_URI']);
}
?>

但是,如果使用URL重写(也称为“ IIS mod_rewrite”),则更好: http : //www.iis.net/downloads/microsoft/url-rewrite或其他不在PHP代码中的重定向。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM