PHP重定向用户

时间:2017-12-27 11:52:15

标签: php .htaccess redirect content-management-system

我正在为大学项目开发​​CORE PHP中的自定义CMS。显然我有大量的文件和文件夹。每当用户触发模板页面时,我都需要帮助重定向。 这是项目的文件结构

Project
    | assets
        | css +js stuff
    | template
        | - header.php
        | - footer.php
        | - navigation.php
        | ---
    | - index.php
    | - login.php
    | ---

现在我的问题是:如果用户直接触发project.com/template/header.php,我想重定向用户。与naviation.php footer和其他模板文件相同。是否有任何.htaccess解决方法或函数来处理此功能。?

我可以创建错误或404页面来重定向用户。

3 个答案:

答案 0 :(得分:2)

您可以在不希望直接访问的任何页面中包含以下内容

if ( realpath(__FILE__) == realpath( $_SERVER['SCRIPT_FILENAME'] ) ) {
    header( 'HTTP/1.0 404 Not Found', TRUE, 404 );
    die( header( 'location: error.php?code=404' ) );
}

答案 1 :(得分:0)

您可以在有效页面的开头创建一个定义 然后在模板页面中,如果定义了值,则开始测试 如果没有重定向到index.php

define('TOKEN', true);
...
if (!defined('TOKEN')) {
    header('location:index.php');
    exit();
}

答案 2 :(得分:0)

您可以通过.htaccess文件

执行此操作

创建.htaccess文件并将以下行插入该文件,然后将该文件移动到根文件夹。

Redirect 301 /header.php http://www.yourdomain.com/404.php
Redirect 301 /footer.php http://www.yourdomain.com/404.php
Redirect 301 /navigation.php http://www.yourdomain.com/404.php