Как сделать URL профиля в стиле Tumblr - PullRequest
0 голосов
/ 02 января 2019

Интересно, как Tumblr делает URL профиля следующим образом:

http://www.username.tumblr.com/ 
http://username.tumblr.com/

Я знаю, что мы можем изменить URL профиля

http://www.website.com/profile.php?user=username

на

http://www.website.com/username

используя следующее RewriteRule

RewriteRule ^([^/]+)/?$ profile.php?user=$1 [L,QSA,NC]

Я не знаю, как Tumblr делает эти URL профиля.

Как создать URL профиля пользователя следующим образом:

http://www.username.website.com/
http://username.website.com/

У меня есть VirtualHost.

1 Ответ

0 голосов
/ 07 января 2019

Ключевое решение: подстановочные поддомены .

Это позволяет вам *.domain.com указывать на ваш сервер.

Предположим, что из вашего примера мы включили поддомены с подстановочными знаками для domain.com, и мы хотим предоставить субдомены пользователей, такие как http://username.domain.com.У вас будет что-то вроде этого:

RewriteCond %{HTTP_HOST} ^((?!www.)[^.]+)\.domain\.com$ [NC]
RewriteRule ^(.*)$ /%1/$1 [L]

, где http://username.domain.com/xxx будет указывать на /username/xxx.

Обратите внимание, что этот пример был сокращен и максимально упрощен для объяснения.,Возможно, вам понадобятся другие правила, в зависимости от вашего контекста, для обработки основного домена и других условий.

...