mod_rewrite перенаправить субдомен в папку [duplicate]

Возможный дубликат:
Перенаправить все поддомены в подпапки

У меня есть блог wordpress по адресу http://www.orpheecole.com , я хотел бы настроить 3 поддомена (cycle1, cycle2, cycle3), которые будут перенаправлены в их папки (1 поддомен = 1 блог WP, мультисайт не включен)

Дерево файлов выглядит следующим образом:

/var/www/orpheecole.com/
/var/www/cycle1.orpheecole.com/
/var/www/cycle2.orpheecole.com/
/var/www/cycle3.orpheecole.com/

следующий .htaccess пытается перенаправить в /var/www/orpheecole.com/cycleX вместо своего собственного каталога, но, возможно, я бы предпочел перенаправить каждый поддомен в его собственную папку www. мой файл с поддержкой сайтов для основного сайта -

# blog orpheecole
<VirtualHost *:80>
    ServerAdmin admin@orpheecole.com
    ServerName  orpheecole.com
    ServerAlias *.orpheecole.com

    DocumentRoot /var/www/orpheecole.com/

    <Directory /var/www/orpheecole.com/>
        Options -Indexes FollowSymLinks MultiViews
        Order allow,deny
        allow from all
    </Directory>

    ErrorLog /var/log/apache2/orpheecole.com-error_log
    TransferLog /var/log/apache2/orpheecole.com-access_log
</VirtualHost>

, а .htaccess, расположенный на /var/www/orpheecole.com/, выглядит так

<IfModule mod_rewrite.c>

  RewriteEngine on
  RewriteCond %{HTTP_HOST} !^www.* [NC]
  RewriteCond %{HTTP_HOST} ^([^\.]+)\.orpheecole\.com$
  RewriteCond /var/www/orpheecole.com/%1 -d
  RewriteRule ^(.*) www\.orpheecole\.com/%1/$1 [L]

  # BEGIN WordPress
  RewriteBase /
  RewriteRule ^index\.php$ - [L]
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteRule . /index.php [L]
  # END WordPress

</IfModule>

Я пытался удалить директивы wordpress, но ничего не изменилось, и мод перезаписи включен и работающий.

0
задан 13 April 2017 в 15:14
1 ответ

Лучший способ иметь поддомены в вашем apache - это использовать vhosts. Создайте файл конфигурации для каждого из ваших поддоменов в sites-available и не забудьте включить его (пример: a2ensite cycle1 )

вот пример для цикла1

# blog orpheecole
<VirtualHost *:80>
    ServerAdmin admin@orpheecole.com
    ServerName  cycle1.orpheecole.com
    ServerAlias *.cycle1.orpheecole.com

    DocumentRoot /var/www/cycle1.orpheecole.com

    <Directory /var/www/cycle1.orpheecole.com/>
        Options -Indexes FollowSymLinks MultiViews
        Order allow,deny
        allow from all
    </Directory>

    ErrorLog /var/log/apache2/cycle1.orpheecole.com-error_log
    TransferLog /var/log/apache2/cycle1.orpheecole.com-access_log
</VirtualHost>
0
ответ дан 5 December 2019 в 15:50

Теги

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