PHP重定向用户

问题描述 投票:0回答:3

我正在为大学项目开发​​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页面来重定向用户。

php .htaccess redirect content-management-system
3个回答
2
投票

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

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

0
投票

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

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

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
© www.soinside.com 2019 - 2024. All rights reserved.