我有目录 abc,里面有两个文件。一个是 login.php,另一个是 index.php。我有路径 localhost/abc 重定向到 index.php,但我想重定向到 login.php。
问问题
317 次
3 回答
2
默认情况下,页面将始终打开index.php
目录中的文件。这是默认行为。您可以通过更改服务器设置来更改它,但这取决于您使用的服务器,例如。Apache IIS 等
假设您正在使用 Apache... 您需要httpd.config
在 apache 文件夹中的文件中更改以下行
<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
}
希望这可以帮助...
于 2012-12-07T10:29:21.033 回答
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。
于 2012-12-07T10:20:20.063 回答
0
如果可以使用 PHP,为什么要使用 javascript 重定向?
- 如果 javascript 被禁用,那么重定向将不起作用!
- 在某些情况下,您必须对 url 进行编码
- HTTP 比 JavaScript 更适合这项工作
- 搜索引擎跟随他们
- 您可以说明它是否是永久的
使用 PHP 重定向 302
<? header('Location: /login.php'); ?>
标头函数将原始标头数据发送到客户端 Web 浏览器,在这种情况下发送302 状态代码,指示浏览器重定向到给定位置。但它不会是好的 SEO 明智的。
于 2012-12-07T10:38:32.503 回答