2012-05-14 2 views
3

아래 typescript를 사용하면 사용자가 내 typo3 사이트의 백엔드에서 자체 트리가있는 사이트의 모바일 버전으로 리디렉션 될 수 있음을 발견했습니다.사용자를 모바일 사이트로 리디렉션하고 타이포그래피로 typo3으로 돌아 가기

[useragent = *iPhone*]||[useragent = *iPod*]||[useragent = *Android*] 
config.additionalHeaders = Location: http://m.example.com/ 
[end] 

사이트의 단순화 된 버전이므로 전체 웹 사이트 링크로 돌아가고 싶습니다. 하지만 위의 typoscript로 인해 사용자가 m 도메인으로 리디렉션되기 때문에 www.example.com으로 돌아갈 수 없습니다.

아무도 여기에 typoscript 제안이 있습니까?

답변

4

리디렉션을 끄는 데 사용할 수있는 링크 매개 변수가 필요한 추가 매개 변수가 필요합니다. 이 같은

시도 뭔가 :

# check for mobile browser 
[useragent = *iPhone*]||[useragent = *iPod*]||[useragent = *Android*] 
config.additionalHeaders = Location: http://m.example.com/ 
[global] 

# undo mobile redirect if mobile param is set 
[globalVar = GP:nomobileredirect > 0] 
config.additionalHeaders = 
[global] 

및 귀하의 링크를 http://www.example.com/?nomobileredirect=1로 다시 리디렉션합니다.

생성 된 모든 링크에서 nomobileredirect-value를 유지하려면 nomobile을 linkVars에 추가하십시오.

config.linkVars = nomobileredirect,L 
+0

감사합니다. 큰 도움이되었습니다. 내가 찾는 유일한 이유는 http://www.example.com/?nomobileredirect=1로 돌아가서 http://www.example.com/index.php?id에 대한 의견을 클릭하기 때문입니다. = 2 나는 매개 변수를 잃어 버리고 m.example.com으로 되돌아 간다. 이것에 대해 알고있는 방법이 있나? – ak85

+0

config.linkVars 구성을 포함하도록 내 대답을 편집했습니다. 그 방법에 대한 자세한 내용은 다음 문서를 참조하십시오. http://typo3.org/documentation/document-library/core-documentation/doc_core_tsref/4.1.0/view/7/3/ – adhominem

+0

잘 작동합니다. 내가 해결할 수 없었던 또 다른 고려 사항은 트위터/페이스 북 등의 뉴스 기사 링크를 클릭하면 큰 경험이 아닌 홈 페이지로 리디렉션된다는 것입니다. config.additionalHeaders = Location : http://m.example.com/index.php?id=(pid) 또는 비슷한 내용으로 내 뉴스 단일 페이지가 모바일 버전 (예 : http : //)으로 리디렉션됩니다. www.example.com/index.php?id=10&tx_ttnews[year]=2012 은, 불행하게도 http://m.example.com/index.php?id=20&tx_ttnews[year]=2012 – ak85

0

GET 매개 변수에 다른 조건을 사용하고 나중에 config.additionalHeaders을 무시할 수 있습니다. TS는 스크립팅 언어가 아니라 정적 구성임을 기억하십시오. 마지막 문장은 항상 모든 TS가 파싱 된 후에 만 ​​시작되고 렌더링이 시작됩니다.

GET 매개 변수를 추가로 제외하여 위의 조건을 확장 할 수도 있습니다.

관련 문제