Я использую Apache mod_rewrite для перенаправления мобильных пользователей на мой мобильный сайт на основе их http_user_agent. Однако не у всех страниц есть аналог для мобильных устройств. Также мобильные страницы заканчиваются на .html, а "полные" страницы заканчиваются на .shtml.
Вот какой-то псевдокод.
Есть ли у пользователя определенный HTTP_USER_AGENT?
Есть ли мобильная страница?
Если да, возьмите их туда. В противном случае перенаправление не требуется.
RewriteCond позволяет обратным ссылкам [0] захватывать группы в RewriteRule.
RewriteCond %{HTTP_USER_AGENT} Mobile
RewriteCond $1.html -f
RewriteRule ^(.*)\.shtml$ $1.html [R]
[0] На самом деле больше похоже на прямую ссылку ...
Можете ли вы использовать php для этого?
<?php
$THEPAGE = 'WHATEVER THE URL YOU WANT IT TO BE';
$page = file_get_contents("$THEPAGE");
if(strstr($page, '404'))
{
}
else
{
header('Location: ' .$THEPAGE .'\')';
}
?>
Наверное, лучше всего разместить это в разделе для веб-мастеров. Но я полагаю, вы хотите что-то вроде следующего?
<script language=javascript>
<!--
if ((navigator.userAgent.match(/iPhone/i)) || (navigator.userAgent.match(/iPod/i))) {
location.replace("http://url-to-send-them/iphone.html");
}
-->
</script>
Есть множество сайтов, которые помогут вам в этом - http://www.abeautifulsite.net/blog/2011/11/detecting-mobile-devices-with-javascript/
Просто добавьте скрипт на страницы, на которых вы хотите обнаруживать, нет необходимости предварительно проверять наличие страницы сайта.