Поддомены подстановочных знаков и дружественные URL - PullRequest
0 голосов
/ 12 июля 2011

Это то, что я хотел бы сделать с htaccess (или что вы предлагаете):

Я хочу разрешить пользователям публиковать страницы, фотографии, видео и ... и давать каждому из них поддомен своегоchoice (например: john.mysite.com).

Вот как URL может быть действительно похож на Tumblr (было бы здорово, если бы он работал как Tumblr:) -

john.mysite.com/photos
john.mysite.com/photos/album/123456789
john.mysite.com/news/123456789
john.mysite.com/news/category/123456789

Использованиеhtaccess я могу сделать так, чтобы whatevertheusernameis.mysite.com обслуживался mysite.com/user.php Затем в user.php я могу видеть, кто пользователь анализирует HTTP_HOST (получает «whatevertheusernameis» и проверяет мою БД), и я могу знать, что показывать (фото, видео, новости, страницы, ...) чтение REQUEST_URI.

Я бы хотел, чтобы определенный URL работал следующим образом:

john.mysite.com/ajax/ajax.php    ->    mysite.com/ajax/ajax.php
john.mysite.com/images/img.png   ->    mysite.com/images/img.png

, но если, например, я нахожусь в john.mysite.com/photos/album/123456789/ это будет считаться john.mysite.com/photos/album/123456789/ajax/ajax.php, что, конечно, не сработает ...

Может кто-нибудь помочь мне?Спасибо.

1 Ответ

0 голосов
/ 12 июля 2011

Что вам нужно сделать, это добавить условие перед тем, как все остальные ваши слова переписываются:

RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l

RewriteRule ...

Эти директивы будут указывать Apache всегда обслуживать фактические файлы (f), каталоги (d) и символические ссылки (l) и использовать поддомен для определения местоположения пользовательских данных (фотографий и т. Д.).

...