.htaccess перенаправить в папку на основе url [duplicate]

Как отмечают @espinchi из 3.2 (API уровня 13), группы размеров устарели. Диапазоны размеров экрана - предпочтительный подход в будущем.

67
задан starkeen 8 June 2016 в 18:04
поделиться

7 ответов

Попробуйте поместить это в ваш файл .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]
85
ответ дан Ansari 20 August 2018 в 17:43
поделиться

Для любого запроса поддомена используйте это:

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 .

0
ответ дан Hafij Khan 20 August 2018 в 17:43
поделиться

Переадресация каталога поддомена:

RewriteCond %{HTTP_HOST} ^([^.]+)\.(archive\.example\.com)$ [NC]
RewriteRule ^ http://%2/%1%{REQUEST_URI} [L,R=301]
2
ответ дан hjpotter92 20 August 2018 в 17:43
поделиться

перенаправляет одну и ту же папку в субдомен: .htaccess

RewriteCond %{HTTP_HOST} !^www\.
RewriteCond %{HTTP_HOST} ^([^\.]+)\.domain\.com$ [NC]
RewriteRule ^(.*)$ http://domain\.com/subdomains/%1
4
ответ дан jmsmarcelo 20 August 2018 в 17:43
поделиться

Попробуйте помещать этот файл .htaccess в папку поддомена:

RewriteEngine On

RewriteRule ^(.*)?$ ./subdomains/sub/$1

Он перенаправляется на http://domain.com/subdomains/sub/ , когда вы только хотите, чтобы он показывал http://sub.domain.com/

3
ответ дан Minh Trịnh 20 August 2018 в 17:43
поделиться

У меня была та же проблема, и я нашел подробное объяснение в 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]
8
ответ дан Pablo Torrecilla 20 August 2018 в 17:43
поделиться

Вы можете использовать следующее правило в 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 на ваш поддомен и папку с именем папки, которую вы хотите чтобы указать ваш поддомен.

39
ответ дан starkeen 20 August 2018 в 17:43
поделиться
Другие вопросы по тегам:

Похожие вопросы: