Убираем ограничение количества сайтов на хостинге. Мультисайтинг.
Дописываю старый пост.
Легенда:
- Вам нужно десять тысяч сайтов. Их размер должен быть небольшим.
- Сайты могут и не использовать базу — либо все использовать одну (ну а чо?)
- У каждого сайта должен быть домен.
- Вы не хотите платить за хостинг больше 50-100 рублей.
Это будет особо полезно — дорвейщикам, говноклёпщикам, а также для накрутки различных показателей.
Посмотрим что можно сделать.
Мы будем использовать shared хостинг.
Покупая обычный shared хостинг зачастую имеется ограничение на количество сайтов.
Нас интересует только тот хостинг, у которого нету ограничения на количество привязанных доменов к сайту.
Конечно-же вы можете найти хостинг без ограничения на количество сайтов — но обычно это vps/vds или же цена на них не особо радует.
Итак нам годится любой хостинг с модулем url преобразований, без ограничения количества привязанных доменов к сайту.
На количество сайтов может быть любое ограничение.
В нашем примере мы возьмём стандартную цифру в пять сайтов.
Всё написанное было проверено на хостинге sprinthost.
И нет не подумайте что я его рекламирую, тут ссылок нет, да и хостинг полное дерьмо.
Как вы и догадались — мы используем модуль юрл преобразований.
Я использовал mod_rewrite.
Итак давайте выразим нашу конечную цель:
У нас есть два домена сайт1.ру и сайт2.ру. Я хочу чтобы они находились в одной папке.
К примеру они будут по папкам home/govnosites/сайт1.ру
Ну и соответственно home/govnosites/сайт2.ру
на home не обращайте внимания — это корневище.
Нам нужно переписать обращение с сайт1.ру и с сайт2.ру , в соответствующие папки.
Смотрим что я сделал:
Я создал в папке govnosites папки testdom1.tk и testdom2.tk .
В них я кинул файл htaccess в котором включил модуль юрл преобразований.
В корневой папке сайта следующий htaccess:
# BEGIN WordPress # это наш основной сайт - мы его не трогаем <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] #тут добавим условие RewriteCond %{HTTP_HOST} ^govnosite\.ru RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> # END WordPress <IfModule mod_rewrite.c> RewriteEngine on # если вызывают не наш основной говносайт - переписываем на папку RewriteCond %{HTTP_HOST} !^govnosite\.ru RewriteRule ^(.*)$ /govnosites/%{HTTP_HOST}/index.php?par=$1 [L] </IfModule>
содержимое index.php
<html> <title> govnoproger.ru тестовый сайт</title> <body>я нахожусь в testdom1 переменные пути <?php htmlspecialchars(print_r($_GET));?> </br> <a href="govnoproger.ru">govnoproger.ru</a> </body></html>
Рабочие примеры:
Первый, второй. Можете написать любой запрос типа testdom1.tk/someurl.
Дальше понятно. Отдать нужный контент дело техники — у нас ведь есть переменные пути.