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

By lincanbin at 2013-10-27 01:18:16 • 776次点击

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对其处理
否则则按上面处理

iis, 环境, rewrite, 问题


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

lincanbin at 2013-10-27 01:19:58
1

if(strpos($_SERVER["REQUEST_URI"], '.php')){

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

exit('no php script');

}

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

lincanbin at 2013-10-27 01:20:31
2

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

lincanbin at 2013-10-27 01:22:45
3
登录 后发表评论