![]() |
как с помощью mod_rewrite сделать редирект с субдомена на основной домен
Здравствуйте.
Прошу сильно не ругаться если это уже обсуждалось, поиск пробовал, но от чтения найденного еще больше запутался :idontnow: Вообщем вопрос у меня такой. Есть сайт к примеру http://mysayt.ru в Яше и в Гуле есть ссылки такого вот типа http://blaba.blaba.mysayt.ru/book/123-kniga.html при переходе по такой ссылке попадаешь на http://mysayt.ru/book/123-kniga.html при том вложенность blaba может быть любой. После обращения в сапорт хостера, непонятные субдомены исчезли, но при переходе с ПС по старым ссылкам сайт не открывается, что не есть хорошо. Движок DLE, ЧПУ включено в .htacces пробовал разные варианты, но так как сам я в этом mod_rewrite полный чайник, то не чего путного не получилось. Нужно сделать так что бы при заходе с поисковика по ссылке http://blaba.blaba.mysayt.ru/book/123-kniga.html посетитель попадал на http://mysayt.ru/book/123-kniga.html т.е все что есть пред mysayt.ru обрезалось , а все что после mysayt.ru оставалось. Спасибо. С уважением Анатолий. |
попробуйте так:
Код:
RewriteCond %{HTTP_HOST} ^(.+?)\.mysayt.ru [NC] |
Я уже обрадовался что есть еще люди которые могут помочь, но увы это не работает, ошибка 500. Может есть другие варианты? Спасибо.
|
Помница я левые сабдомены куда-то перенаправлял. Не удалось откопать всю подноготную тех манипуляций, но этот кусок работал точно:
Код:
RewriteCond %{HTTP_HOST} . |
Цитата:
Код:
RewriteCond %{HTTP_HOST} ^([a-z0-9_-]+)\.mysayt.ru$ [NC] |
НЕ может отобразить страницу :(
пробовал два варианта вот мой кусок htacces RewriteEngine On RewriteBase / # www RewriteCond %{HTTP_HOST} ^www\.([^.]+\.ru)$ [NC] RewriteRule ^(.*)$ http://%1/$1 [R=301,L] #index.php RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/ RewriteRule ^index\.php$ http://admydoor.ru/ [R=301,L] ## subdomen_trash а сюда надо написать волшебные строчки :yees: |
Есть еще вариант, который я на англоязычном форуме нашел в своё время. Редирект посредством виртульного хоста:
Код:
# NameVirtualHost *:80добавлено через 37 минут Цитата:
Код:
#добавить: |
RewriteEngine On
RewriteBase / # www RewriteCond %{HTTP_HOST} ^www\.([^.]+\.ru)$ [NC] RewriteRule ^(.*)$ http://%1/$1 [R=301,L] #index.php RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/ RewriteRule ^index\.php$ http://admydoor.ru/ [R=301,L] ## subdomen_trash # NameVirtualHost *:80 <VirtualHost *:80> ServerName www.admydoor.ru # This is your main domain </VirtualHost> <VirtualHost *:80> ServerName admydoor.ru # This is to make sure that foo.domain.com gets redirected too ServerAlias *.admydoor.ru # If you want to use more virtual hosts on subdomains, # just define them earlier Redirect / http://admydoor.ru/ </VirtualHost> еще раз показываю httacces, может из существующих правил возникает ошибка 500 ? вот что я вставил в htacces в строке Redirect / http://www.admydoor.ru/ я удалил www так как у меня основной домен без www |
Меня терзают смутные сомнения, что Wildcard DNS record вообще указует на Ваш домен. Меня, например, при наборе символьного имени перед названием сайта (blah.yoursite.ru) отправляет в поисковик :rolleyes:
|
Цитата:
Код:
RewriteCond %{HTTP_HOST} !^admydoor\.ru$ [NC] |
Опять не может отобразить страницу, наверное это все таки еще и от самого DLE зависит, а это может влиять?
############################################### ## DO NOT REMOVE OR EDIT LINES BELOW # *** automatically generated config *** AddType application/x-httpd-php5 .php #ErrorDocument 404 404.html ErrorDocument 400 400.html ErrorDocument 401 401.html ErrorDocument 403 403.html ErrorDocument 500 500.html # *** end of automatically generated config *** ############################################### RewriteEngine On RewriteBase / # www RewriteCond %{HTTP_HOST} ^www\.([^.]+\.ru)$ [NC] RewriteRule ^(.*)$ http://%1/$1 [R=301,L] #index.php RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/ RewriteRule ^index\.php$ http://admydoor.ru/ [R=301,L] ## subdomen_trash правила Rewrite удалял , прямо какая то не решаемая задача, а могли бы ВЫ подробнее обьяснить что обозначет в том что написано здесь? RewriteEngine On RewriteBase / RewriteCond %{HTTP_HOST} \.([a-z-]+\.[a-z]{2,6})$ [NC] RewriteRule ^/(.*)$ http://%1/$1 [R=301,L] Я попробую тоже понять и может вместе найдем решение? добавлено через 7 минут http://blaba.admydoor.ru/film/18469-...co-domato.html не может отобразить страницу :( добавлено через 3 минуты Цитата:
только что проверил http://www.blaba.admydoor.ru/film/ не работает http://www.admydoor.ru/film/ работает так http://admydoor.ru/film/ |
Цитата:
ваш хостер отключил поддержку wildcard субдоменов и проблема с помощью htaccess/ModRewrite не решается больше скажу, проблема ваша уже решена: поисковики со временем выкинут все ссылки с субдоменами, поскольку они не существуют |
Спасибо за помощь, думаю дальше продолжать нет смысла, сейчас смотрел Яшка уже выкинул , а Гоша еще думает , но думаю что скоро тоже удалит
|
Цитата:
|
| Часовой пояс GMT +4, время: 20:26. |
Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.