Apache / ColdFusion: реплицированные веб-сайты?

#apache #coldfusion #content-management-system #dynamic-data #coldfusion-9

#apache #coldfusion #система управления контентом #динамические данные #coldfusion-9

Вопрос:

Итак, я делал это раньше несколькими различными способами, но я хотел узнать мнение сообщества.

Что необходимо выполнить, так это, по сути, динамические URL-адреса, которые извлекают содержимое в зависимости от того, что существует в URL. Пример:

http://www.domain.com/userA/

Этот URL-адрес будет извлекать содержимое пользователя и заполнять веб-сайт. Идея заключается в том, чтобы у нескольких пользователей было свое собственное место на веб-сайте. Это один и тот же веб-сайт для всех, но информация о пользователе изменяется в соответствии с запросом URL.

Делая еще один шаг вперед, чтобы иметь возможность вызывать example.com/userA/mediaID и отображать видео от пользователя.

Как я уже сказал, я делал это раньше, но я хочу сделать это с учетом лучших практик … возможно, сочетание htaccess и CGI?

Мысли?

Комментарии:

1. Откуда берется контент? Вы передаете его по сети с других серверов или просто из других папок на том же веб-сервере?

2. В конце концов, я хотел бы иметь возможность использовать облачный сервер для этого… но сначала тот же сервер.

Ответ №1:

Используйте модуль перезаписи Apache для отправки запроса через внешний контроллер. Итак, в вашем httpd.conf должна быть запись, которая выглядит примерно так:

 # QSA preserves original query string 
# PT Sends the new URI to ColdFusion 
# NS (No [internal] Subrequests) is necessary because expandPath() will not work otherwise
RewriteRule ^/(.*) /frontcontroller.cfm [E=ORIGINAL_URI:%{REQUEST_URI},QSA,PT,NS]
  

Это делает CGI.ORIGINAL_URI доступным код ColdFusion, позволяющий динамически генерировать ответ и защищать его относительно сеанса пользователя.

Ответ №2:

Для любых разработчиков CF, которые знакомы с маршрутизацией для Rails или .NET MVC, ознакомьтесь: http://cfwheels.org

Wheels — это система маршрутизации CFML с открытым исходным кодом! Может стать победителем!

Ответ №3:

Другие языки / фреймворки делают это динамически, используя файл ‘routes’, который использует сопоставления приложений, а не .htaccess (см. Маршрутизацию Rails).

Возможно, вы могли бы каким-то образом реплицировать это в CF — но я не пробовал — обычно перезапись URL-адресов в большинстве случаев работает нормально.

Надеюсь, это поможет.

Комментарии:

1. Да, .NET MVC обладает замечательной системой маршрутизации… Я создал свой собственный, но должно быть что-то еще «полуофициальное».