Назад | Перейти на главную страницу

Поддомен .htaccess для выпуска каталога

У меня есть этот код ниже, который должен перенаправить поддомен в каталог в .htaccess. Я пытаюсь сделать так, чтобы у каждого пользователя на моем сайте был профиль, расположенный по адресу username.mysite.com. Я уже изменил записи DNS на подстановочный знак и код, с которым я работал ранее, но по какой-то причине этого больше нет. Кто-нибудь может помочь, спасибо.

RewriteBase /
RewriteCond s%{HTTPS} ^((s)on|s.*)$ [NC]
RewriteRule ^/*(.+/)?([^.]*[^/])$ http%2://%{HTTP_HOST}/$1$2/ [L,R=301]
RewriteCond %{HTTP_HOST} ^website\.?com [NC,OR]
RewriteCond %{HTTP_HOST} ^www.website\.?com [NC]
RewriteCond %{REQUEST_URI} !/
RewriteRule ^(.*)$ $1 [L]
RewriteBase /
RewriteCond s%{HTTPS} ^((s)on|s.*)$ [NC]
RewriteRule ^/*(.+/)?([^.]*[^/])$ http%2://%{HTTP_HOST}/$1$2/ [L,R=301]
RewriteCond %{HTTP_HOST} !^www\.website\.com
RewriteCond %{HTTP_HOST} ([^.]+)\.website\.com$ [NC]
RewriteCond %{REQUEST_URI} !userdir/
RewriteRule ^(.*)$ userdir/$1 [L]

Вы смотрели на mod_vhost_alias? Он обрабатывает этот вариант использования из коробки.

Начните с добавления в конфигурацию Apache:

RewriteLog /tmp/rwlog.txt
RewriteLogLevel 9

Запустите тест user.website.com, а затем отключите его (это плохо сказывается на производительности) и давайте посмотрим, что должен сказать файл журнала. В какой-то момент в журнале вы заметите, где дела идут наперекосяк ...