lincanbin
lincanbin
3248 3 0

IIS环境下的rewrite导致的404问题

if(strpos($_SERVER["REQUEST_URI"], '.php')){
    header('location: /404.html');
    exit('no php script');
}

例如主页,apache返回的$_SERVER["REQUEST_URI"]是/,IIS环境下返回的则是/index.php
要解决这个问题,IIS环境下应该使用$_SERVER["HTTP_X_REWRITE_URL"]

所以可以先if($_SERVER["HTTP_X_REWRITE_URL"])
如果成立,则用strpos对其处理
否则则按上面处理

0

See Also

Nearby


Discussion (3)

lincanbin
lincanbin 2013-10-26 17:19

IIS下的php环境其实执行效率也很不错的说,而且有不少廉价主机都是IIS主机

0
lincanbin
lincanbin 2013-10-26 17:20
if(strpos($_SERVER["REQUEST_URI"], '.php')){

header('location: /404.html');

exit('no php script');

}

哎哟,有新功能了好像,代码高亮?

0
lincanbin
lincanbin 2013-10-26 17:22

其实我觉得应该考虑支持UBB,UBB是套挺不错而且也挺安全的规范

0
Login Topics