문제 페이지 주소 | 비공개 (작성 후 5일 경과) |
---|
app : nginx/1.13.3 xe_version : 1.9.7 php : 5.5.9-1ubuntu4.22 서버 환경입니다.
서버 에러로그를 살펴보던 중
PHP Notice: Undefined offset: 1 in /home/tqookcokr/www/index.php on line 44 에러로그에 쌓여있는것을 보고 확인 해보니
index.php 에 개인적으로 적용한 xe 로그인 풀림방지팁 ( https://xe1.xpressengine.com/tip/19787880 ) 부분에서 문제를 일으키는 것으로 확인이 되었습니다.
* @brief Declare constants for generic use and for checking to avoid a direct call from the Web
**/
define('__XE__', TRUE);
/* 로그인 풀림방지 추가*/
preg_match('@^(www\.)(.*)@', $_SERVER['HTTP_HOST'], $www_url);
if($www_url[1]) {
@header('Location: http://' . $www_url[2] . $_SERVER['REQUEST_URI']);
}
/*로그인 풀림방지 추가end*/
Undefined offset 은 어떤 배열에서 정의되어 있지 않은 값을 호출하려 할 때 발생하는 에러다. 라고 검색이 되는데요 위팁을 계속사용하려면 소스 수정을 어떻게 해야 할지 도움 부탁드리겠습니다.
아니면 로그인 풀림방지 팁 자체가 무의미하다면 아예 해당팁을 제거하는게 맞을까요?
[ 참고 : 에러로그 중 일부]
댓글 7
일단 오류 수정 방법을 알려드리자면...
if(isset($www_url[1])) {
...
}
으로 사용하시면 될겁니다.
nginx 에서 리디렉트 시키도록 해보세요.
server {
listen 80;
server_name www.sitename.com;
return 301 http://sitename.com$request_uri;
expires epoch;
}
시도해보겠습니다. ^^