从URL中的目录路径重定向到特定页面

时间:2012-12-07 10:13:52

标签: javascript jquery

我有目录abc,里面有两个文件。一个是login.php,另一个是index.php。我有路径localhost / abc重定向到index.php,但我想重定向到login.php。

3 个答案:

答案 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)

如果你可以使用PHP,为什么要用javascript重定向?

  • 如果禁用了javascript,那么重定向将无效!
  • 在某些情况下,您必须对网址进行编码
  • HTTP比JavaScript更适合工作
  • 搜索引擎关注
  • 您可以说明它是否是永久性的

使用PHP重定向302

<? header('Location: /login.php'); ?>

标头功能将原始标头数据发送到客户端Web浏览器,在这种情况下发送 302状态代码,指示浏览器重定向到给定位置。但它不会那么好的SEO。