본문 바로가기
program

.htaccess를 사용하여 PC와 SmartPhone구별하기

by 믹스 2011. 3. 11.
최근에는.htaccess를 이용하여 PC와 SmartPhone을 구분짓는 것이 일반화(?) 되어가고 있는 것 같다.

서버측에서.htaccess의 사용에 어떠한 제한을 두고 있다면 소용없는 방법이라 생각되지만..
가장 좋은 방법이라고 생각된다. 일단, 사전확인은 필요.

지금까지 많이 사용되던것이 PC, iPhone의 구분에 CSS를 사용하며 각 단말기별로 max-device-width등을 이용해서 지정하는 것이었는데 단말기는 계속 증가하는 추세고 아예처음부터 구분시키는 이 방법이 제일(?)은 아닐런지.

------------------------------------------------------------------------------
RewriteEngine On

RewriteCond %{HTTP_USER_AGENT} (iPhone|iPod|Android)
RewriteCond %{QUERY_STRING} !mode=pc
RewriteRule ^$ /〇〇/smart/ [R]
------------------------------------------------------------------------------

물론 아래와같이 구별시키는 것도 가능하다.

------------------------------------------------------------------------------
RewriteEngine On

RewriteCond %{HTTP_USER_AGENT} (iPhone|iPod)
RewriteCond %{QUERY_STRING} !mode=pc
RewriteRule ^$ /〇〇/smart/ [R]

RewriteCond %{HTTP_USER_AGENT} (Android)
RewriteRule ^$ /〇〇/android/ [R]
------------------------------------------------------------------------------

이걸로 SmartPhone으로 접속하는 유저는 처음부터/〇〇/smart/로 가게 되며
SmartPhone에서 PC용 페이지로이동시킬경우에는 링크의 말미에

-----------------------------------------------------------
/〇〇/index.html?mode=pc
-----------------------------------------------------------

위와 같이?mode=pc를 붙이는 것으로 PC용 페이지가 보여지게 된다.

※.htaccess파일은/〇〇/의 밑에 둠.

쬐끔 걸리는 부분이 있다고 한다면
URL에?mode=pc가 붙어버린다는 것인데 이부분은 어떻게 해결되는건가? 하는 의문과
PC에서 볼경우에는 우선 안보여지는 부분이고 SmartPhone이 대상인 만큼 그 작은 화면에서 일일이 URL을 확인하는 사람이 있을까? 하는 궁금증이 남았다.
728x90
반응형

댓글