Problem

반응형 웹 페이지가 아닌 경우에는 모바일 페이지는 별도의 URL로 구성하기도 하는데 사용자의 환경에 따라 모바일 또는 데스크톱으로 자동 전환해 줄 필요가 있다.

Solution

.htaccess를 이용하면 아파치 설정을 수정하지 않고도 디렉터리별로 설정을 달리 할 수 있다. 각 디렉터리의 .htaccess의 사용을 활성화 하기 위해서는 먼저 아피치 설정에서 AllowOverride 설정을 활성화 해주고 다음 내용을 참고해보자. 아래 예제는 적용했던 특정 사이트 주소 체계를 포함하고 있으므로 적용하고자 하는 웹 사이트 주소 체계에 맞게 변경할 필요가 있다.

RewriteBase /
RewriteEngine On

RewriteCond %{HTTP_USER_AGENT} (android|blackberry|googlebot-mobile|iemobile|iphone|ipod|opera\smobile|palmos|webos) [NC]
RewriteCond %{REQUEST_URI} ^/(en|ko)/web/
RewriteRule ^(en|ko)/web/(.*)$ /$1/m/$2 [R=302,L]

RewriteCond %{HTTP_USER_AGENT} !(android|blackberry|googlebot-mobile|iemobile|iphone|ipod|opera\smobile|palmos|webos) [NC]
RewriteCond %{REQUEST_URI} ^/(en|ko)/m/
RewriteRule ^(en|ko)/m/(.*)$ /$1/web/$2 [R=302,L]

Solution2

fview= 쿼리 스트링이 있는 경우 이동은 페이지 전환이 자동으로 되지않도록 고정하고 fview 쿠키가 있을 경우 현재의 뷰 모드를 고정한다.

RewriteBase /
RewriteEngine On

RewriteCond %{QUERY_STRING} fview= [NC,OR]
RewriteCond %{HTTP_COOKIE} fview=1 [NC]
RewriteRule .* - [L]

RewriteCond %{REQUEST_URI} !(\.css|\.js|\.png|\.jpg|\.jpeg|\.gif|\.wof|\.woff|\.woff2|\.ttf)$ [NC]
RewriteCond %{HTTP_USER_AGENT} (android|blackberry|googlebot-mobile|iemobile|iphone|ipod|opera\smobile|palmos|webos) [NC]
RewriteCond %{REQUEST_URI} ^/(en|ko)/web/
RewriteRule ^(en|ko)/web/(.*)$ /$1/m/$2 [R=302,L]

RewriteCond %{REQUEST_URI} !(\.css|\.js|\.png|\.jpg|\.jpeg|\.gif|\.wof|\.woff|\.woff2|\.ttf)$ [NC]
RewriteCond %{HTTP_USER_AGENT} !(android|blackberry|googlebot-mobile|iemobile|iphone|ipod|opera\smobile|palmos|webos) [NC]
RewriteCond %{REQUEST_URI} ^/(en|ko)/m/
RewriteRule ^(en|ko)/m/(.*)$ /$1/web/$2 [R=302,L]