mirniycruxix
@mirniycruxix

Автоматические поддомены для папки?

Всем привет! Как сделать автоматические поддомены для папки которая находится еще в одной папке. То есть сделать:

Из этого
site.ru/folders/faq/
В это
faq.site.ru/

Код, который у меня сейчас (Он делает поддомены для папок находящихся в DocumentRoot, а мне нужно чтобы и для других папок тоже: пример описал выше)
<VirtualHost *:80>
	DocumentRoot /var/www/html/
	ServerName site.ru
	ServerAlias *.site.ru

	RewriteEngine On
	RewriteCond %{HTTP_HOST} !^www.site.ru$
	RewriteCond %{HTTP_HOST} ^((.*).)site.ru$
	RewriteRule ^/(.*) /%2/$1

	RewriteCond %{REQUEST_FILENAME} !-d
	RewriteCond %{REQUEST_FILENAME}\.php -f
	RewriteRule ^(.*)$ $1.php

	php_admin_value open_basedir none
</VirtualHost>
  • Вопрос задан
  • 38 просмотров
Решения вопроса 1
@dodo512
/%2/$1 заменить на /folder/%2/$1

Или использовать mod_vhost_alias
VirtualDocumentRoot /var/www/html/folder/%1

spoiler
<VirtualHost *:80>
  DocumentRoot /var/www/html/
  ServerName site.ru
  ServerAlias www.site.ru
  
  RewriteEngine On
  
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteCond %{REQUEST_FILENAME}\.php -f
  RewriteRule ^(.*)$ $1.php

  php_admin_value open_basedir none
</VirtualHost>


<VirtualHost *:80>
  UseCanonicalName    Off
  VirtualDocumentRoot /var/www/html/folder/%1
  ServerName site.ru
  ServerAlias *.site.ru
  
  <Directory /var/www/html/folder/*/>
    RewriteEngine On

    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME}\.php -f
    RewriteRule ^(.*)$ $1.php [L]
  </Directory>
  
  php_admin_value open_basedir none
</VirtualHost>
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы