0

PHPでリクエストhttp(s)//domain.tld/WHATEVER.phpをリダイレクトするにはどうすればよいですか?http(s)//domain.tld/WHATEVER.php?lang=<?php substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2); ?>

したがって、既に lang パラメータを使用して URL にアクセスした場合は、何もしません。lang パラメータが存在しない場合、lang パラメータを含む URL に 301 リダイレクトします。

4

2 に答える 2

1

これを試して。ヘッダーを場所として設定しても現在のページは終了しないため、exit が重要であることに注意してください。また、クライアントにまだ何も送信していない場合 (つまり、エコーや印刷を行っていない場合) にのみヘッダーを送信できることに注意してください。

if ( !isset( $_GET[ 'lang' ] ) ) {
    header( 'Location: http(s)//domain.tld/WHATEVER.php?lang=' . substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2) );
    exit;
}
于 2016-03-01T17:00:41.577 に答える
0

lang は GET 変数なので、設定されているかどうかを簡単に確認できます。その場合は、目的の URL にリダイレクトします。

if(!isset($_GET['lang'])){
header('location: ' . 'http(s)//domain.tld/WHATEVER.php?lang='. substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2));
exit;
}
于 2016-03-01T17:00:15.273 に答える