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