你想要做什么是可能的,你可以在login.php
顶端检查$_SERVER['REQUEST_URI']
,就像这样:
<?php
if(strpos($_SERVER['REQUEST_URI'], '/login.php') !== false){
header('Location: /both.php');
exit;
}
你会做同样的register.php
,然而,从重定向用户这些页面不是最好的解决方案;相反,您应该将login.php
和register.php
移到您的webroot之外。您不希望用户有权访问的任何文件都应位于Web根目录之外。
假设您的webroot被称为'public_html'。在both.php
public_html:
- both.php
includes:
- login.php
- register.php
然后,以包括其他两个文件,这样做::然后创建像这样的目录结构
require __DIR__ . '/../includes/login.php';
require __DIR__ . '/../includes/register.php';
由于这些文件是他们无法通过键入路径来查看Web根目录以外进入地址栏,但both.php
仍然可以包含它们。
谢谢!它的工作,我仍然使用重定向,最适合我的网站atm! – Kets
@Kets不客气!请记住,出于安全原因,将脚本移到网络根外部会更好,有时更适合搜索引擎优化(这两个.php对于Google的登录表单都没有多大意义),如果将所有内容移到webroot之外并使用前端控制器可以轻松控制哪个url加载哪些资源。 – Paulpro