В общем имеем:
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^([a-z]+)\.([a-z]+)$
RewriteRule (.*)
http://www.%1.%2/$1 [R=301,L]
RewriteRule ^(?:si)\b - [F,L]
RewriteCond %{HTTP_HOST} ^pub
RewriteRule .* /pub/$0 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php/$0 [PT]
Получаем первое правило нужно чтобы любой урл без www перенаправлять на поддомен www. Данное правило работает.
Следующее правило тоже работает, его назначение закрыть все запросы к site.ru/si
Переходим к следующему правилу, оно как раз не работает... Его назначение все запросы начинающиеся с поддомена pub переадресовывать в папку pub. То есть например pub.site.ru/images/index.jpg должно быть переадресованно site.ru/pub/images/index.jpg но происходит следующее, он переадресовывает и начинает правила снова, не отдавая файл... Как быть? Это правило нужно чтобы вся статика хранилась в папке pub и не обрабатывалась index.php
Следующее правило работает. Оно перебрасывает все запросы на index.php
Примечание:
Я уже сделал. Получился такой htaccess:
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^([a-z]+)\.([a-z]+)$
RewriteRule (.*)
http://www.%1.%2/$1 [R=301,L]
RewriteRule ^(?:si)\b - [F,L]
RewriteCond %{HTTP_HOST} !^pub\.
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php/$0 [PT]
RewriteCond %{HTTP_HOST} ^pub\.
RewriteCond %{REQUEST_URI} !^/pub/
RewriteRule .* /pub/$0 [L,NS]
RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.
Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.
Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.