2014-06-18 2 views
1

내 웹 사이트 모바일 버전은 www.m.example.com입니다. mobile이라는 폴더에 모바일 사이트 코드를 넣습니다. 이제 모바일 사용자를 www.m.example.com으로 리디렉션하고 싶습니다. htacces 파일에 코드를 입력하고 모바일을 사용하여 확인했습니다. 그런 다음 www.example.com을 www.m.example.com으로 올바르게 리디렉션했습니다. 그러나 문제가 발견되었습니다. 문제는 www.example.com/listing/category/ct-12 등의 get 변수로 URL을 검사하면 www.m.example.com으로 리디렉션된다는 것입니다. www.m.example.com/listing/category/ct-12이 아닙니다. 누구나 .. 내 웹 사이트는이 폴더 내 htacces이htacces를 사용하여 모바일 버전으로 URL을 리디렉션하는 방법

RewriteEngine on 
RewriteCond %{REQUEST_FILENAME} -f [OR] 
RewriteCond %{REQUEST_FILENAME} -d 
RewriteRule .+ - [L] 
RewriteRule ^([^\.]+)$ $1.php [NC,L] 
Options -Indexes 

listing라는

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} -f [OR] 
RewriteCond %{REQUEST_FILENAME} -d 
RewriteRule .+ - [L] 
RewriteRule ^(.*)/(.*)/(.*)/([0-9]+)$ listing/list-name.php?State=$1&Location=$2&Name=$3&Id=$4 [L,NC,QSA] 
RewriteRule ^(.*)/(.*)/(.*)/(.*)/ct-([0-9]+)/page-([0-9]+)$ listing/list.php?State=$1&Dis=$2&Loc=$3&Category=$4&CId=$5&start_page=$6 [L,NC,QSA] 
RewriteRule ^(.*)/(.*)/(.*)/ct-([0-9]+)/page-([0-9]+)$ listing/list.php?State=$1&Dis=$2&Category=$3&CId=$4&start_page=$5 [L,NC,QSA] 
RewriteRule ^(.*)/(.*)/(.*)/(.*)/ct-([0-9]+)$ listing/list.php?State=$1&Dis=$2&Loc=$3&Category=$4&CId=$5 [L,NC,QSA] 
RewriteRule ^(.*)/(.*)/ct-([0-9]+)/page-([0-9]+)$ listing/list.php?State=$1&Category=$2&CId=$3&start_page=$4 [L,NC,QSA] 
RewriteRule ^(.*)/(.*)/(.*)/ct-([0-9]+)$ listing/list.php?State=$1&Dis=$2&Category=$3&CId=$4 [L,NC,QSA] 
RewriteRule ^(.*)/(.*)/ct-([0-9]+)$ listing/list.php?State=$1&Category=$2&CId=$3 [L,NC,QSA] 
RewriteRule ^http://www.example.com index.php 

Options -Indexes 

공공 HTML에서 내 htacces 코드 PHP

을 사용하고 올바른 htacces 코드를 도와 내 최종 htacces

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} -f [OR] 
RewriteCond %{REQUEST_FILENAME} -d 
RewriteRule .+ - [L] 

# Check if this is the noredirect query string 
RewriteCond %{QUERY_STRING} (^|&)noredirect=true(&|$) 
# Set a cookie, and skip the next rule 
RewriteRule^- [CO=mredir:0:%{HTTP_HOST},S] 

# Check if this looks like a mobile device 
# (You could add another [OR] to the second one and add in what you 
# had to check, but I believe most mobile devices should send at 
# least one of these headers) 
RewriteCond %{HTTP:x-wap-profile} !^$ [OR] 
RewriteCond %{HTTP:Profile}  !^$ 
# Check if we're not already on the mobile site 
RewriteCond %{HTTP_HOST}   !^m\. 
# Check to make sure we haven't set the cookie before 
RewriteCond %{HTTP:Cookie}  !\smredir=0(;|$) 
# Now redirect to the mobile site 
RewriteRule^http://www.m.example.com%{REQUEST_URI} [R,L] 

RewriteRule ^(.*)/(.*)/(.*)/([0-9]+)$ listing/list-name.php?State=$1&Location=$2&Name=$3&Id=$4 [L,NC,QSA] 

RewriteRule ^(.*)/(.*)/(.*)/(.*)/ct-([0-9]+)/page-([0-9]+)$ listing/list.php?State=$1&Dis=$2&Loc=$3&Category=$4&CId=$5&start_page=$6 [L,NC,QSA] 
RewriteRule ^(.*)/(.*)/(.*)/ct-([0-9]+)/page-([0-9]+)$ listing/list.php?State=$1&Dis=$2&Category=$3&CId=$4&start_page=$5 [L,NC,QSA] 
RewriteRule ^(.*)/(.*)/(.*)/(.*)/ct-([0-9]+)$ listing/list.php?State=$1&Dis=$2&Loc=$3&Category=$4&CId=$5 [L,NC,QSA] 
RewriteRule ^(.*)/(.*)/ct-([0-9]+)/page-([0-9]+)$ listing/list.php?State=$1&Category=$2&CId=$3&start_page=$4 [L,NC,QSA] 
RewriteRule ^(.*)/(.*)/(.*)/ct-([0-9]+)$ listing/list.php?State=$1&Dis=$2&Category=$3&CId=$4 [L,NC,QSA] 
RewriteRule ^(.*)/(.*)/ct-([0-9]+)$ listing/list.php?State=$1&Category=$2&CId=$3 [L,NC,QSA] 



RewriteRule ^http://www.example.com index.php 




Options -Indexes 
+2

제공하여'.htaccess' 내용 –

+1

가능한 우리 만 재보고 후 조사 할 수 있습니다 중복 http://stackoverflow.com/questions/3680463/mobile-redirect-using-htaccess –

+0

규칙. – anubhava

답변

1

이 규칙을 삽입합니다. t RewriteEngine On 아래 : 다음

RewriteCond %{HTTP_USER_AGENT} android|avantgo|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge\ |maemo|midp|mmp|opera\ m(ob|in)i|palm(\ os)?|phone|p(ixi|re)\/|plucker|pocket|psp|symbian|treo|up\.(browser|link)|vodafone|wap|windows\ (ce|phone)|xda|xiino [NC,OR] 
RewriteCond %{HTTP_USER_AGENT} ^(1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a\ wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r\ |s\)|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1\ u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp(\ i|ip)|hs\-c|ht(c(\-|\ |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac(\ |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt(\ |\/)|klon|kpt\ |kwc\-|kyo(c|k)|le(no|xi)|lg(\ g|\/(k|l|u)|50|54|e\-|e\/|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(di|rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-|\ |o|v)|zz)|mt(50|p1|v\)|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v\)|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-|\)|webc|whit|wi(g\ |nc|nw)|wmlb|wonu|x700|xda(\-|2|g)|yas\-|your|zeto|zte\-) [NC] 
RewriteRule^http://m.website.com%{REQUEST_URI} [R=301,L,NE] 
+0

작동 중입니다. ... 감사합니다. – Nidhi

+0

감사합니다. 다행입니다. – anubhava

관련 문제