mod_rewrite, .htaccess подключение к базе данных MySQL - PullRequest
3 голосов
/ 16 января 2009

Я хотел бы, чтобы mod_rewrite в файле .htaccess связывался с базой данных mysql, чтобы предоставить мне информацию о сопоставлении.

В частности, я использую одну кодовую базу для размещения нескольких сайтов, так что ... если пользователь запрашивает изображение, например: http://www.example.com/images/car.jpg

это попадет на мой сервер, и многие другие сайты также попадут в эту папку / images, поэтому мне нужно, чтобы Apache ответил: /home/example/pubic_html/images/7383/car.jpg

Обратите внимание на внедрение "7383", который является примером идентификатора сайта для этого пользователя.

По сути, я хочу сопоставить example.com и 7383, используя базу данных mysql, а затем получить правильный файл для пользователя.

Есть идеи?

Ответы [ 2 ]

3 голосов
/ 16 января 2009

Вы можете использовать скрипт как карту перезаписи , чтобы получить реальный путь.

2 голосов
/ 17 января 2009

RewriteMap - правильная функциональность Apache для использования. Спасибо, Гамбо.

Что стоит отметить, когда я работал над этим:

  • RewriteMap идет в вашей конфигурации Apache, а не в файле .htaccess
  • Я написал сценарий для создания текстового файла сопоставления, который будет выполнять сопоставление, которое у меня было выше. Он в основном выводит из базы данных все, что необходимо - поскольку моя не меняется каждую минуту, я могу просто периодически запускать дамп в этот текстовый файл всякий раз, когда сопоставление добавляется или изменяется.

Работает как чемпион. Спасибо Apache за этот замечательный инструмент.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...