我有目录abc,里面有两个文件。一个是login.php,另一个是index.php。我有路径localhost / abc重定向到index.php,但我想重定向到login.php。
答案 0 :(得分:2)
默认情况下,页面将始终在目录中打开index.php
文件。这是默认行为。您可以通过更改服务器设置来更改它,但这取决于您使用的服务器,例如。 Apache IIS等。
假设您正在使用Apache ...您需要更改apache文件夹中httpd.config
文件中的以下行
<IfModule dir_module>
DirectoryIndex index.php index.php3 index.html index.htm
</IfModule>
这一行将查找index.php,如果没有找到,它将搜索后面列出的后续文件。您可以根据需要更改文件的顺序。
由于您已将问题标记为javascript,因此您可以使用以下代码重定向到所需的页面,而无需更改服务器设置
<script type="text/javascript" language="javascript">
window.location = 'login.php';
</script>
但我认为你想要做的事情就像用户没有登录然后重定向到你可以做的登录页面..
假设您正在使用会话并再次使用PHP
//write this in index.php
if(isset($_SESSION["isLoggedin"]) && $_SESSION["isLoggedin"]==true){ //if user has logged in and session variable has been set.
header("Location:login.php"); //this will redirect the page to login.php
}
希望这会有所帮助......
答案 1 :(得分:0)
当访问localhost / abc时,它会重定向到index.php
//index.php
//javascript method
if( !checkLogin() ){
window.location.href = 'login.php'
}
//php way
if( !checkLogin() ){
header('location: login.php');
}
checkLogin在您未登录时返回false。
答案 2 :(得分:0)
<? header('Location: /login.php'); ?>
标头功能将原始标头数据发送到客户端Web浏览器,在这种情况下发送 302状态代码,指示浏览器重定向到给定位置。但它不会那么好的SEO。