블로그 주소를 바꾸면서
기존 주소를 새 주소로 리다이렉트 시켜놨는데 리퍼러에 기존 주소가 계속 찍히는 문제가 있었다..
요련 식으로 말이지....
어떻게 해결하나 했는데 redirect 방식을 301 로 바꿔주면 된다고 함.
기존에는 apache2 설정을 통해서
<VirtualHost *:80>
ServerName blog.ghj.kr
Redirect / http://blog.iolate.kr/
</VirtualHost>
요런 식으로 해놨는데 이 경우 302가 기본값이고
<VirtualHost *:80>
ServerName blog.ghj.kr
Redirect 301 / http://blog.iolate.kr/
</VirtualHost>
이렇게 301 redirect 로 바꿔주면 된다.
302 는 임시고 301 은 영구적인 redirect 라나 뭐라나...
근데 301 대신 302 를 워낙 많이 써서 검색엔진에서도 302를 301로 인식하고 주소를 바꿔준다고 한다.
그때도 301, 302 에 대해 검색해보고 결론은 저대로 놔두면 된다 였는데 다시 검색하니 왜 다른건지 모르겠다.
php 에서는 이런 식으로 넘기면 된다고 함.
(근데 IE 6~8 에서 500 에러 난다. 쓰지 말자 ㅋ)
<?
header (‘HTTP/1.1 301 Moved Permanently’);
header (‘Location: newurl’);
?>
저 리퍼러들이 사라질지 아닐지는 좀 더 지켜봐야 겠지만.
안사라진다.. 젠장...
일단 사파리, 크롬 등 웹킷 기반에서는 리다이렉트시 전부 리퍼러를 없앤 채로 보내주는 것 같고
IE 도 6 제외하고는 리퍼러를 다 제거하고 리다이렉트 해주는 듯 하다.
리퍼러가 브라우저가 설정해서 보내주는 거라 브라우저를 많이 타는 것 같은데...
도대체 범인을 모르겠다... IE6 을 아직까지 쓰는 사람은 거의 없을테고.. 문제의 다른 브라우저가 있다는 건데...
여튼 좀 짜증나서 이전 안내페이지를 만들었다.
많이 엉성하지만, 나름 깔끔하고 괜찮다고 생각 중....ㅋㅋ
추가로 .htaccess 파일을
RewriteEngine On
RewriteRule . index.html [L]
이렇게 설정함으로써 주소 뒤에 어떤 문자열이 있든 index 페이지로 오게 해놨다.
참고로 apache2 의 redirect 를 사용하지 않은 이유는 혹시나 검색엔진이 이 안내페이지로 주소 이전한 걸로 오해할까봐...
뒷 문자열을 받아서 그대로 새 주소를 다시 보여주는 것도 가능하지만,
그렇게 하면 또 리퍼러 리스트에 옛날 주소가 잔뜩 쌓일 것 같아서 관뒀다..
이번에도 리퍼러가 엄청 쌓인다면 포기하고 뒷 문자열 붙여서 주소 만들어줄 생각..
+ 로그 저장해서 도대체 어디서, 어느 브라우저가 범인인지도 확인해 봐야겠다.
일단은 귀찮으니 생략ㅋ
원인은 중국..
뒷 이야기는
여기서 계속...
'Linux, Server, Web' 카테고리의 다른 글
Apache2 userdir 모듈에서 php 작동안함 문제 (0) | 2015.06.28 |
---|---|
특정 국가(중국!!) 차단하기 (0) | 2013.10.19 |
Unix, Linux, BSD, 그리고 MacOS (0) | 2013.01.03 |
phpmyadmin 에러 (2) | 2012.11.18 |
사용해 본 VPS 비교 (2) | 2012.11.14 |