-1

ディレクトリabcがあり、その中に2つのファイルがあります。1 つは login.php で、もう 1 つは index.php です。パス localhost/abc を index.php にリダイレクトしていますが、login.php にリダイレクトしたいと考えています。

4

3 に答える 3

2

デフォルトでは、ページは常にindex.phpディレクトリ内のファイルを開きます。これがデフォルトの動作です。サーバー設定を変更することで変更できますが、使用しているサーバーによって異なります。ApacheIISなど。

使用しているApacheを想定しています... httpd.configapacheフォルダ内のファイルの次の行を変更する必要があります

<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 に答える