interyes Posted January 25, 2019 Report Share Posted January 25, 2019 Всем привет. Реализую региональность на поддоменах. Сделал переменные городов и прочего по видео Виталия Виноградова Сначала планировал в каждую папку поддомена заливать копию сайта. Возник вопрос как реализовать вызов всех файлов simpla оставив их только на главном сайте. Хотелось бы в поддоменах видеть 3 файла index.php, sitemap.php и robots.txt Quote Link to post Share on other sites
Kosjak76 Posted January 25, 2019 Report Share Posted January 25, 2019 Можно вообще без файлов))Направить все поддомены в одну папку и в зависимости от поддомена - отдавать разный контент Quote Link to post Share on other sites
question Posted January 25, 2019 Report Share Posted January 25, 2019 Да элементарно. Пусть все поддомены ссылаются на основной сайт, а далее в htaccess прописываете RewriteCond %{HTTP_HOST} ^sochi\.site\.ru$ RewriteRule ^$ /index.php?module=MainView&page_url=sochi [L] Остальное в шаблоне. Я так не только поддомены делал, но и несколько сайтов с разным дизайном и контентом.Не забудьте создать страницу с url = sochi (главная для поддомена).Остальное индивидуально, зависит от задач. Quote Link to post Share on other sites
interyes Posted January 26, 2019 Author Report Share Posted January 26, 2019 Да элементарно. Пусть все поддомены ссылаются на основной сайт, а далее в htaccess прописываете RewriteCond %{HTTP_HOST} ^sochi\.site\.ru$ RewriteRule ^$ /index.php?module=MainView&page_url=sochi [L] Остальное в шаблоне. Я так не только поддомены делал, но и несколько сайтов с разным дизайном и контентом. Не забудьте создать страницу с url = sochi (главная для поддомена).Остальное индивидуально, зависит от задач. Большое спасибо! Quote Link to post Share on other sites
esistema1 Posted January 26, 2019 Report Share Posted January 26, 2019 robots лучше генерировать через phpВ htacess RewriteRule ^robots.txt$ robots.php В корень сайта файл robots.php <?php //код на php $domain = $_SERVER['HTTP_HOST']; if ($_SERVER['HTTP_HOST'] !== 'www.site.ru') { $google = "User-agent: Googlebot \nDisallow: /"; } ?> User-agent: Mail.Ru Crawl-delay: 1 User-agent: * Disallow: /sections/404 Disallow: /simpla/ Disallow: /order/ Disallow: /user/ Disallow: /captcha/ Disallow: /Smarty/ Disallow: /api/ Disallow: /compiled/ Disallow: /cart Disallow: /in/ Disallow: /resize/ <?=$page?> Sitemap: https://<?=$domain?>/sitemap.xml <?=$google?> Этот robots запрещает индексацию поддонов гуглу и добавляет каждому свой sitemap. Quote Link to post Share on other sites
phukortsin Posted January 26, 2019 Report Share Posted January 26, 2019 Disallow: /sections/404 - для ОЧЕНЬ старых версий... Disallow: /in/ - что-то свое... Quote Link to post Share on other sites
interyes Posted January 26, 2019 Author Report Share Posted January 26, 2019 robots лучше генерировать через phpВ htacess RewriteRule ^robots.txt$ robots.php В корень сайта файл robots.php <?php //код на php $domain = $_SERVER['HTTP_HOST']; if ($_SERVER['HTTP_HOST'] !== 'www.site.ru') { $google = "User-agent: Googlebot \nDisallow: /"; } ?> User-agent: Mail.Ru Crawl-delay: 1 User-agent: * Disallow: /sections/404 Disallow: /simpla/ Disallow: /order/ Disallow: /user/ Disallow: /captcha/ Disallow: /Smarty/ Disallow: /api/ Disallow: /compiled/ Disallow: /cart Disallow: /in/ Disallow: /resize/ <?=$page?> Sitemap: https://<?=$domain?>/sitemap.xml <?=$google?> Этот robots запрещает индексацию поддонов гуглу и добавляет каждому свой sitemap.Спасибо, а с какой целью закрывать индексацию поддоменов для гугл? Quote Link to post Share on other sites
esistema1 Posted January 26, 2019 Report Share Posted January 26, 2019 (edited) Гугл ну будет ранжировать ваши поддомены как Яндекс в разных регионах, в гугл нормально относятся к региональным категориям вроде site.ru/ufa, а поддомен будет считаться зеркалом. Disallow и прочее содержимое по своим потребностям заполните в файле. Edited January 26, 2019 by esistema1 Quote Link to post Share on other sites
question Posted January 27, 2019 Report Share Posted January 27, 2019 Я делал проще. RewriteCond %{HTTP_HOST} ^адресвашегосайта\.ru$ RewriteRule ^robots\.txt$ /robots/1.txt [L] И размещаете в 1.txt, 2.txt... и т.д. нужные вам указания для поисковиков. Я, например, делал только главную страницу для поддомена (всего одну), её же разрешал индексировать. Ссылки с поддомена вели на основной домен Будут ещё какие вопросы по поддоменам, пишите.У вас поддомен будет отдельным сайтом с кучей страниц? Если да, когда сделаете, напишите, как поисковики отнеслись к дублированию контента. Quote Link to post Share on other sites
esistema1 Posted January 28, 2019 Report Share Posted January 28, 2019 Я делал проще. RewriteCond %{HTTP_HOST} ^адресвашегосайта\.ru$ RewriteRule ^robots\.txt$ /robots/1.txt [L] И размещаете в 1.txt, 2.txt... и т.д. нужные вам указания для поисковиков. Я, например, делал только главную страницу для поддомена (всего одну), её же разрешал индексировать. Ссылки с поддомена вели на основной домен Будут ещё какие вопросы по поддоменам, пишите.У вас поддомен будет отдельным сайтом с кучей страниц? Если да, когда сделаете, напишите, как поисковики отнеслись к дублированию контента. Вы создаете кучу файлов 1.txt, 2... А я всего один robots.php который сам генерирует robots.txt для каждого поддомена. Quote Link to post Share on other sites
interyes Posted February 8, 2019 Author Report Share Posted February 8, 2019 Да элементарно. Пусть все поддомены ссылаются на основной сайт, а далее в htaccess прописываете RewriteCond %{HTTP_HOST} ^sochi\.site\.ru$ RewriteRule ^$ /index.php?module=MainView&page_url=sochi [L] Остальное в шаблоне. Я так не только поддомены делал, но и несколько сайтов с разным дизайном и контентом. Не забудьте создать страницу с url = sochi (главная для поддомена).Остальное индивидуально, зависит от задач. можете описать что мы делаем этим кодом в двух словах? Я просто добавил все поддомены как псевдонимы к основному сайту на хостинге и все работает поддомены встают во все пути, к всем файлам, https тоже работает. Боюсь что-то упустить Quote Link to post Share on other sites
Kosjak76 Posted February 8, 2019 Report Share Posted February 8, 2019 Этот код нужен для того, чтобы на поддомене sochi.site.ru вместо обычной главной страницы показывалась страница с адресом sochi Quote Link to post Share on other sites
question Posted February 9, 2019 Report Share Posted February 9, 2019 RewriteCond - условие, распространяемое на следующую строку^ - начало$ - конецточка пишется как обратный слэш точка, то есть \.%{HTTP_HOST} - хост, короче, ваш сайтRewriteRule - правило[L] - говорит о том, что правило последнее.Итого имеем:Если хост sochi.site.ru, товыполнить правило: переадресовывать главную страницу сайта(ведь ^$ - это начало+конец) на /index.php?module=MainView&page_url=sochiи больше ничего не делать.Так я понимаю все эти инструкции. Возможно, где-то допустил незначительные ошибки, но общую картину обрисовал. Quote Link to post Share on other sites
get31 Posted September 19, 2023 Report Share Posted September 19, 2023 Уважаемые спецы, подскажите пожалуйста. Сделал запись А - через *, чтобы можно было создавать автоматически поддомены. Как теперь правильно закрыть в htaccess стандартные папки чтобы не было simpla.site.com а тех которые не существуют ведут на 404 страницу? Quote Link to post Share on other sites
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.