Настройка htaccess. Поддомены
Нужно перенаправлять запрос с определенных поддоменов в определенные папки. Есть такие наработки:
RewriteCond %{HTTP_HOST} ^sub\.example\.ru$
RewriteCond %{REQUEST_URI} !^/sub/
RewriteRule ^(.*)$ /sub/$1 [L]
НО:
- При переходе по домену
sub.example.ruне открывает статику. - Никак не могу запретить переход по ссылке
example.ru/sub/
Как грамотно распределять запросы по папкам с определенных поддоменов, а остальные направлять в index.html?
Ответы (1 шт):
Автор решения: dimixlol
→ Ссылка
Насчет запрета перехода по ссылке example.ru/sub/, могу предложить такое:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^example\.com$
RewriteRule ^sub1\/?(.*)$ "http\:\/\/example\.com\/sub1\/$1" [R=301,L]
RewriteCond %{HTTP_HOST} ^example\.com$
RewriteRule ^sub2\/?(.*)$ "http\:\/\/example\.com\/sub2\/$1" [R=301,L]
RewriteCond %{HTTP_HOST} ^example\.com$
RewriteRule ^sub3\/?(.*)$ "http\:\/\/example\.com\/sub3\/$1" [R=301,L]
Cтатика должна тоже открываться, т.к. весь контент будет в example.com/sub. К сожалению проверить не было возможности
Остальное можно преводить в index.html с помощью
ErrorDocument 404 /index.html
RewriteCond %{HTTP_HOST} ^(.*)\.example\.com$
RewriteRule ^(.*)$ "http\:\/\/example\.com\/index.html" [R=301,L]
PS, для последнего редиректа необходимо будет создание *.example.com хоста в httpd.conf с DocumentRoot таким же как у example.com