现在,在我的网站上,我成功登录后,通过在www.mysite.com/login.php页面上使用类似的内容,将用户重定向到www.mysite.com/protected_files/redirect.php页面:
if( login was successful)
{
include('protected_files/redirect.php');
}
名为www.mysite.com/protected_files的文件夹包含.htaccess文件,
# This file prevents that your .php view files are accessed directly from the outside
order allow,deny
deny from all
当他们在浏览器中输入www.mysite.com/protected_files/phpfile1.php时,会导致protected_files文件夹中的所有.php文件给用户403错误
函数包含的地方(‘protected_files / anyphpfile.php’)就派上用场了.
现在,我试图弄清楚如何从菜单栏将用户从protected_files / phpfile1.php重定向到protected_files / phpfile2.php.
< a href =“www.mysite.com/protected_files/phpfile2.php”> page2< / a>不起作用(错误403),因为它属于protected_files文件夹,该文件夹具有.htaccess文件,并且它不能从URL中访问它.
我对此问题的解决方案如下:
//code in `www.mysite.com/redirect.php`
if ($_GET['page'] == "phpfile2") {
include("phpfile2.php");
} else {
include("phpfile1.php");
}
这意味着在成功登录后,默认情况下用户将被带到www.mysite.com/protected_files/phpfile1.php(因为$_GET [‘page’] ==“”)
现在,用户在phpfile1.php中,他可以点击链接< a href =“?page = phpfile2”> phpfile2< / a>去phpfile2.php.在这样做时,他的浏览器首先显示www.mysite.com/login.php,点击链接后,它显示www.mysite.com/login.php?page=phpfile2.
当用户在phpfile2.php页面中时,我想要做的是不在网址中显示www.mysite.com/login.php?page=phpfile2,而是显示实际的文件路径,即www.mysite的.com / protected_files / phpfile2.php
如何在这种特殊情况下实现这一目标?
我是否可以更改.htaccess以便在成功登录后可以访问protected_files(不再有错误403)?我应该改变我完全建立这个网站的方式吗?
基本上,最后,我希望有一个名为protected_files的文件夹,它包含只有在成功登录后才能供用户使用的.php文件.