ホーム > フォーラム > 質問箱 > 初めにアクセスした時のhttpステータスが302、すぐに同じURLでリダイレクト

初めにアクセスした時のhttpステータスが302、すぐに同じURLでリダイレクト
投稿者: ushi5555 | 投稿日時: 2010/11/16 22:43 | 閲覧: 23816回
ushi5555

xoopsで構築したサイトで、あるブラウザから一番初めにアクセスした時のhttpステータスが302、すぐに同じURLでリダイレクトされています。
2回目以降はどのURLでも200で正常です。

302だと検索エンジンにクロールされなので困っています。

最初のアクセスやクローラーではCookieがないことが原因では、と指摘を受け、該当のプログラム・コードを探そうとしているのですが、見つけられていません。
あるいは、何かPHPの設定によるのでしょうか。

同じような現象に合われた方、または何かヒントをお持ちの方、いらっしゃいましたらご教授いただきたく、投稿しました。
よろしくお願いします。

XOOPS Cube Legacy 2.1.8
PHP 5.2.6

===追記
■Apacheのログです。サイトトップページにアクセスした場合。

210.***.***.*** - - [16/Nov/2010:21:45:26 +0900] "GET / HTTP/1.1" 302 38596 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_5; ja-jp) AppleWebKit/533.18.1 (KHTML, like Gecko) Version/5.0.2 Safari/533.18.5"
210.***.***.*** - - [16/Nov/2010:21:45:27 +0900] "GET / HTTP/1.1" 200 38596 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_5; ja-jp) AppleWebKit/533.18.1 (KHTML, like Gecko) Version/5.0.2 Safari/533.18.5"

■HTTPヘッダーの内容:

Cache-Control: no-store, no-cache, must-revalidate
Cache-Control: post-check=0, pre-check=0
Connection: close
Date: Tue, 16 Nov 2010 12:31:20 GMT
Pragma: no-cache
Location: http://hogehoge.com/
Server: Apache/2.0.63 (Red Hat)
Content-Language: ja
Content-Type: text/html; charset=UTF-8
Content-Type: text/html; charset=UTF-8
Expires: Mon, 26 Jul 1997 05:00:00 GMT
Last-Modified: Tue, 16 Nov 2010 12:31:21 GMT
Client-Date: Tue, 16 Nov 2010 12:31:21 GMT
Client-Peer: ***.***.***.***:80
Client-Response-Num: 1
Client-Transfer-Encoding: chunked
Content-Script-Type: text/javascript
Link: ; /="/"; rel="SHORTCUT ICON"
Link: ; /="/"; rel="stylesheet"; type="text/css"
Link: ; /="/"; rel="stylesheet"; type="text/css"
Set-Cookie: PHPSESSID=u6tvoxxxxxxxxxxxxxxx; path=/
Set-Cookie: awssl_secure=on; path=/; secure
Title: HOGEHOGE
X-Meta-Description: ~サイトの説明~
-Meta-Google-Site-Verification: xxxxxxxxxxxxxxxxxxx
X-Powered-By: PHP/5.2.6

レスポンスには、正常にトップページの内容が入っています。

コメント(2)

Re: 初めにアクセスした時のhttpステータスが302、すぐに同じURLでリダイレクト 
投稿者: ushi5555 | 投稿日時: 2010/11/17 9:55
ushi5555

自己レスです。

anywhereSSL(どこでもSSL)がらみのようです。
解決したら書き込みます。
#20659 | | 返信する |
解決:初めにアクセスした時のhttpステータスが302、すぐに同じURLでリダイレクト 
投稿者: ushi5555 | 投稿日時: 2010/11/17 16:41 | 親コメント: #20659
ushi5555

anywhereSSL(どこでもSSL)が、初回アクセス時にクッキーをセットするために
同一URLにリダイレクトしている仕様のため、本現象が起こっていました。

とりあえず、リダイレクトしないように変更。
機能面で不都合ないかどうか経過を見ます。

include/precheck.inc.php
下記のように、locationをコメント化。
//*****************************************************************/
// ログイン処理時のみ、XOOPS_ROOT_PATH/include/checklogin.phpをinclude
//*****************************************************************/
if ( ($_SERVER['SCRIPT_FILENAME'] === XOOPS_ROOT_PATH .'/user.php') &&
($_SERVER['REQUEST_METHOD'] === 'POST') &&
(!empty($_POST['op']) && $_POST['op'] === 'login') ) {
include_once( XOOPS_ROOT_PATH.'/include/checklogin.php' );
exit;
}
//header( "Location: " .$current_url );


これで不都合あった場合は、クローラーかどうかをUserAgentで判定し、クローラーの場合はリダイレクトしないように変更する… が次善策でしょうか。

    投票(0)

    新しいものから | 古いものから | RSS feed
     
    To Top