DLE-Infa.RU Регистрация Статистика Контакты Сервис
«    Май 2012    »
ПнВтСрЧтПтСбВс
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
 
ajax, css, dle, free, green, info, news, pr, release, sms, url, user, wap, альбом, английский, баг, блок, загрузка, запрет, изображения, категории, комментарии, кэш, модуль, новости, новость, ошибка, переходы, подсказки, пользователи, релиз, смарт, спам, тиц, файлы, фото, хак, чпу, шаблон, шаблоны
Качественный и дешевый VDS / VPS хостинг
 Наш архив:
Апрель 2011 (1)
Январь 2011 (8)
Декабрь 2010 (7)
Ноябрь 2010 (3)
Октябрь 2010 (12)
Сентябрь 2010 (4)
   
Навигация по сайту
   
 

Делаем смартфонную версию сайта на поддомене

 
Делаем смартфонную версию сайта на поддомене
Увеличить изображение

Предлагаю Вашему вниманию небольшой хак, позволяющий вынести смарт версию сайта на поддомен.

Установка смарт версии сайта на поддомен:

  1. Создаем в DNS alias на Ваш основной домен. Самый простой способ создать каноническое имя (CNAME запись) в DNS.
  2. Открываем engine/init.php
    • Находим:
      if( isset( $_REQUEST['action'] ) and $_REQUEST['action'] == "mobiledisable" ) $_SESSION['mobile_disable'] = 1;
      if( isset( $_REQUEST['action'] ) and $_REQUEST['action'] == "mobile" ) { $_SESSION['mobile_enable'] = 1; $_SESSION['mobile_disable'] = 0;} //Эта строчка может отсутствовать в старых версия DLE

      if ( $config['allow_smartphone'] AND !$_SESSION['mobile_disable'] ) {

          if ( check_smartphone() ) {

              if ( @is_dir ( ROOT_DIR . '/templates/smartphone' ) ) {

                  $config['skin'] = "smartphone";
                  $smartphone_detected = true;
                  $config['allow_comments_wysiwyg'] = "no";

              }

          }

      }
    • Заменяем на:
      $msite = clean_url ( 'm.site.ru' ); //m.site.ru меняем на свой поддомен, на котором будет находится смарт версия.

      if ( isset( $_REQUEST['action'] ) and $_REQUEST['action'] == 'mobiledisable' )
      {
          $_SESSION['mobile_disable'] = true;
          header( 'HTTP/1.1 303 See Other' );
          header( 'Location: ' . $config['http_home_url'] );

          die();
      }

      if ( $config['allow_smartphone'] )
      {
          if ( clean_url ( $_SERVER['HTTP_HOST'] ) != $msite AND ( ( ! $_SESSION['mobile_disable'] AND check_smartphone() ) OR ( isset( $_REQUEST['action'] ) and $_REQUEST['action'] == 'mobile' ) ) )
          {
              $_SESSION['mobile_disable'] = false;
              header( 'HTTP/1.1 303 See Other' );
              header( 'Location: http://' . $msite . '/' );

              die();
          }
          
          if ( clean_url ( $_SERVER['HTTP_HOST'] ) == $msite AND @is_dir ( ROOT_DIR . '/templates/smartphone' ) )
          {
              $config['skin'] = "smartphone";
              $smartphone_detected = true;
              $config['ajax'] = false;
              $config['allow_comments_wysiwyg'] = "no";

          }
      }
    • Вот и все, теперь pda версия сайта будет находится ТОЛЬКО на поддомене. Теперь при запуске поддомена будет запускаться версия для смартфонов, так же можно выполнять переход сделав запрос ?action=mobile который автоматически сделает редирект на поддомен и запустится смарт версия сайта, а при ?action=mobiledisable будет происходить редирект на обычный сайт с отключением смартфоновской версии!

 
 
  Версия DLE: 7.5 и выше
Автор: Брупт (dle-infa.ru)
Категории новости: Хаки
Ключевые слова новости: dle, smart, смарт, wap, pda
 
 
 
 
 
   
 

Добавление комментария
 
Ваше Имя:
Ваш E-Mail:
Включите эту картинку для отображения кода безопасности
обновить, если не виден код

 
 
 
Популярные новости
Copyright© DLE-Infa group (DLE-Infa.RU) 2009-2011 Все права защищены. Копирование и использование каких либо материала на сайте разрешено только с прямой ссылкой на dle-infa.ru