Как отмечают @espinchi из 3.2 (API уровня 13), группы размеров устарели. Диапазоны размеров экрана - предпочтительный подход в будущем.
Попробуйте поместить это в ваш файл .htaccess:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^sub.domain.com
RewriteRule ^(.*)$ http://domain.com/subdomains/sub/$1 [L,NC,QSA]
Для более общего правила (которое работает с любым поддоменом, а не только sub
) замените последние две строки на это:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^(.*)\.domain\.com
RewriteRule ^(.*)$ http://domain.com/subdomains/%1/$1 [L,NC,QSA]
Для любого запроса поддомена используйте это:
RewriteEngine on
RewriteCond %{HTTP_HOST} !^www\.band\.s\.co
RewriteCond %{HTTP_HOST} ^(.*)\.band\.s\.co
RewriteCond %{REQUEST_URI} !^/([a-zA-Z0-9-z\-]+)
RewriteRule ^(.*)$ /%1/$1 [L]
Просто создайте папку так же, как и имя поддомена, которое вам нужно. Папка должна существовать следующим образом: domain.com/sub для sub.domain.com .
Переадресация каталога поддомена:
RewriteCond %{HTTP_HOST} ^([^.]+)\.(archive\.example\.com)$ [NC]
RewriteRule ^ http://%2/%1%{REQUEST_URI} [L,R=301]
перенаправляет одну и ту же папку в субдомен: .htaccess
RewriteCond %{HTTP_HOST} !^www\.
RewriteCond %{HTTP_HOST} ^([^\.]+)\.domain\.com$ [NC]
RewriteRule ^(.*)$ http://domain\.com/subdomains/%1
Попробуйте помещать этот файл .htaccess в папку поддомена:
RewriteEngine On
RewriteRule ^(.*)?$ ./subdomains/sub/$1
Он перенаправляется на http://domain.com/subdomains/sub/ , когда вы только хотите, чтобы он показывал http://sub.domain.com/
У меня была та же проблема, и я нашел подробное объяснение в http://www.webmasterworld.com/apache/3163397.htm
Мое решение (содержимое поддоменов должен находиться в папке с именем sd_subdomain
:
Options +FollowSymLinks -MultiViews
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} !^www\.
RewriteCond %{HTTP_HOST} subdomain\.domain\.com
RewriteCond $1 !^sd_
RewriteRule (.*) /sd_subdomain/$1 [L]
Вы можете использовать следующее правило в htaccess для перезаписи субдомена во вложенную папку:
RewriteEngine On
#If the host is "sub.domain.com"
RewriteCond %{HTTP_HOST} ^sub.domain.com$ [NC]
#Then rewrite any request to /folder
RewriteRule ^((?!folder).*)$ /folder/$1 [NC,L]
Строка за строкой Объяснение:
RewriteEngine on
Строка выше сообщает серверу включите движок для переписывания URL-адресов.
RewriteCond %{HTTP_HOST} ^sub.domain.com$ [NC]
Эта строка является условием RewriteRule, в котором мы сопоставляем HTTP-узел с использованием шаблона регулярного выражения. Условие говорит, что если хост является sub.domain.com, тогда выполните правило.
RewriteRule ^((?!folder).*)$ /folder/$1 [NC,L]
Правило соответствует http://sub.domain.com/foo и внутренне перенаправляет его на http://sub.domain.com/folder/foo .
Замените sub.domain.com на ваш поддомен и папку с именем папки, которую вы хотите чтобы указать ваш поддомен.