- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу

В 2023 году 36,9% всех DDoS-атак пришлось на сферу финансов
А 24,9% – на сегмент электронной коммерции
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Здравствуйте!
Воюю с htaccess - пытаюсь сделать URLы вида
http://subdomain.example.com => http://example.com/subdomain
http://subdomain.example.com/section => http://example.com/subdomain/?section=section
http://subdomain.example.com/section/page => http://example.com/subdomain/?section=section&page=page
http://subdomain.example.com/section/id/title => http://example.com/subdomain/?section=section&id=id
Все остальное должно сохранять строку запроса, но мереносить имя поддомена в часть пути, например:
http://subdomain.example.com/sitemap.xml => http://example.com/subdomain/sitemap.xml
Хочу заметить, что subdomain, section, page и т.д. - это произвольные строки.
Итак, первую часть (до пункта "все остальное должно...") я сделал и оно работает. htaccess для этого у меня вот такой:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^(.*)\.example\.com [NC]
RewriteRule ^([^/.]+)/?$ %1/index.php?section=$1 [L,QSA]
RewriteCond %{HTTP_HOST} ^(.*)\.example\.com [NC]
RewriteRule ^([^/.]+)/([^/.]+)/?$ %1/index.php?section=$1&page=$2 [L,QSA]
RewriteCond %{HTTP_HOST} ^(.*)\.example\.com [NC]
RewriteRule ^([^/.]+)/([^/.]+)/([^/.]+)/?$ %1/index.php?section=$1&id=$2 [L,QSA]
Это все отлично работает. Но те же сайтмепы Апач не выдает :( Но это и понятно - URL не подпадает ни под один шаблон, ссылка не получает имя корневой папки (совпадающей с именем поддомена), а в корне сайтмэпа нет.
Я пытался намутить шаблон для URLа на сайтмэп, но во-перых так у меня это и не заработало (видимо, вступает в конфликт с другими правилами или я что-то не докрутил с регулярными выражениями - не удивительно, я так и не смог их толком понять), а во-вторых это мне кажется не совсем верный путь, хорошо бы htaccess построить по принципу: сначала превратить поддомен в папку, а потом уже к полученной строке прикладывать правила - выделять параметры из пути или оставлять все как есть.
Помогите плиз. Целый день сижу, читаю доки, статьи, пробую разные варианты, уже никак не могу сладить...
Спасибо заранее!
Что у Вас за панель? Самым правильным в этой ситуации будет создание поддоменов вида
1.site.ru
в отдельных каталогах, а не в директории сайта
Насколько проблемно переделать, зависит от панели
Что у Вас за панель? Самым правильным в этой ситуации будет создание поддоменов вида
1.site.ru
в отдельных каталогах, а не в директории сайта
Насколько проблемно переделать, зависит от панели
Это TimeWeb. У них своя панель.
Это было бы правильно, если бы у меня было какое-то лимитированное и заранее известное количество поддоменов. У меня не так, к сожалению.
Да и возможно, что на моем тарифе хостер не разрешит создавать полностью независимые поддомены (у них тариф включает 1 сайт).
Я не вижу никаких проблем в избранной технологии.
В htaccess каждого поддомена нужно добавить строку:
после этого должно рабоатть
---------- Добавлено 18.01.2017 в 20:33 ----------
Только прийдется для каждлого поддомена отдельный htaccess делать.
В htaccess каждого поддомена нужно добавить строку:
после этого должно рабоатть
---------- Добавлено 18.01.2017 в 20:33 ----------
Только прийдется для каждлого поддомена отдельный htaccess делать.
Правильно я понял, что надо все тоже самое, но в каждую "поддоменную" папку положить .htaccess с единственной инструкцией
?Корневой нужно оставить как есть?
Да все правильно, это правило, отменяет все что было раньше, и заставляет ту папку в которой лежит данный файл считать корнем, то есть то что раньше было не действует, свои правила какие нужны прописывайте.
Это было бы правильно, если бы у меня было какое-то лимитированное и заранее известное количество поддоменов. У меня не так, к сожалению.
Это решается wilcard-доменами. Это единственно правильное решение.
Если хостер не позволяет этого - есть много других.
Я не вижу никаких проблем в избранной технологии.
Открываю глаза, следи внимательно: c 5го поста и до конца.
Это решается wilcard-доменами. Это единственно правильное решение.
Если хостер не позволяет этого - есть много других.
Открываю глаза, следи внимательно: c 5го поста и до конца.
Да ладно
RewriteBase /
Делает любую папку корневой, и пишите в том htaccess что хотите.
То что поддомены более правильно, создавать в отдельных директориях, это совсем другой вопрос.
Да ладно
Осиль ссылку, нечитатель-школохостер.
Да все правильно, это правило, отменяет все что было раньше, и заставляет ту папку в которой лежит данный файл считать корнем, то есть то что раньше было не действует, свои правила какие нужны прописывайте.
Я пока вот как сделал:
в корне лежит .htaccess с содержанием
И это, вроде, работает. Во всяком случае запросы типа "http://subdomain.example.com/?key=value" доходят до скрипта, расположенного в "/homewww/subdomain/index.php?key=value"
Дальше как вы советовали я планировал разместить в папках свои .htaccess (/homewww/subdomain/.htaccess) примерно следующего содержания:
Но не работает, собака :(
Причем запрос вида "http://subdomain.example.com/?key=value" работает, а "http://subdomain.example.com/index.php?key=value" (т.е. с явным указанием названия скрипта) почему-то нет!!!
Ну и запросы вида "http://subdomain.example.com/value" не проходят :(
Не подскажете что здесь не так? Спасибо!
Не подскажете что здесь не так? Спасибо!
Не так здесь то, что чтобы использовать $1, надо его получить. А его нет в выражении
Чтобы $1 появился, надо написать