Нужно иметь example.com/username или username.example.com, но как? - PullRequest
0 голосов
/ 02 мая 2010

Я почти закончил разработку своего большого проекта, однако мне бы понравилось, если бы я мог сделать это вместо того, чтобы иметь страницы профиля пользователя по адресу: http://example.com/profile/username/USERNAME

(в настоящее время я использую .htaccess для перезаписи данных GET в прямую косую черту, а профиль (.php) читается как просто 'profile'. Profile.php также правильно анализирует URL для получения данных GET)

Но было бы намного лучше, если бы я мог сделать это так, чтобы это было похоже на http://www.example.com/USERNAME (предпочтительно) или http://www.USERNAME.example.com

Есть идеи или ресурсы?

Спасибо, Stefan

1 Ответ

0 голосов
/ 02 мая 2010

В вашем .htaccess в корне добавьте

RewriteRule ^/([^/]+)/?    /profile/username/$1

Это соответствует путям, которые не включают косую черту (поэтому в пути нет каталогов) и суффиксам пути к / profile / username /. Путь может содержать необязательный последний слеш.

(+ 1 за комментарий о пространствах имен - это немного опасно иметь имена пользователей в корне вашего сайта. Я попытался ограничить влияние этого, выдавая только пространство имен, состоящее из одного каталога. Пути с несколькими каталогами будет обрабатываться как обычно.)

...