PHP重定向和htaccess哪个更好



我希望访问http://www.domain.com/user/xyz.php的访问者被重定向到https://www.domain.com/user/xyz.php。

ie。如果他们在/user/里面的任何地方,他们就在安全的位置。所以必须重定向到https

我的问题不是具体如何实现这一点,而是哪种方法更好?

我的直觉告诉我应该使用.htaccess Rewrite rule但我也考虑过:

    <?php
    if (!$_SERVER['HTTPS'] && strstr('user', $_SERVER['REQUEST_URI'])){
        header('location:https://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']);
    }

我想听听你对效率和安全以及其他考虑因素的看法。

htaccess可能更有效,特别是在内存使用方面。服务器不需要加载PHP, PHP也不需要解析和执行脚本。Apache也需要读取和应用htaccess中的配置,但这不会像PHP那样消耗那么多内存。

对于PHP,执行速度也取决于PHP的加载方式,例如是否使用APC缓存。

所以,一般来说,我认为htaccess应该更有效率,如果你真的想确保你的配置,我会做一个基准测试。

但总的来说:不要太担心它。选择看起来最好的。与具有实际功能的实际脚本执行相比,这应该不是一个瓶颈。

最新更新