블로그 주소를 바꾸면서

기존 주소를 새 주소로 리다이렉트 시켜놨는데 리퍼러에 기존 주소가 계속 찍히는 문제가 있었다..



요련 식으로 말이지....


어떻게 해결하나 했는데 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

+ Recent posts