использование .htaccess для изменения базы ресурсов в домене (несколько сайтов в одном приложении Symfony) - PullRequest
0 голосов
/ 05 декабря 2009

Я создаю приложение Symfony, созданное для запуска многих сайтов. Аналогично этой статье .

Пока все хорошо, но он использует .htaccess "voodoo". Чтобы сделать так, ссылки на файлы изображений и CSS переписываются так, чтобы они указывали на каталог ресурсов, названный в честь текущего домена. Снова прочитайте статью выше, если это не имеет смысла.

Вот строка из статьи:

RewriteCond /home/ash/projects/carshop/trunk/web/perhost/%{HTTP_HOST}%{REQUEST_FILENAME} -f
RewriteRule (.*) /perhost/%{HTTP_HOST}/$1 [L] 

Вот та же строка, адаптированная для моего сервера тестирования Windows:

RewriteCond C:/xampp/projects/listing/web/sites/%{HTTP_HOST}%{REQUEST_FILENAME} -f
RewriteRule (.*) /sites/%{HTTP_HOST}/$1 [L]

Что-то не так с моим синтаксисом или я не понимаю, что должен делать этот код .htaccess. Я проверил, и mod_rewrite включен.

Я пытаюсь сделать так, чтобы мне не приходилось запрашивать базу данных (чтобы получить текущий веб-сайт), чтобы получить правильный путь к файлам. Каждый домен имеет свои изображения, CSS, файлы в своем собственном каталоге, который назван в честь себя.

как это

  • / веб-сайтов / website1.com / {изображения, JS, CSS}
  • веб / сайты / website2.com / {изображения, JS, CSS}

Дайте мне знать, если вам нужна дополнительная информация.

Спасибо!

1 Ответ

0 голосов
/ 05 декабря 2009

REQUEST_FILENAME уже является абсолютным путем к файловой системе:

REQUEST_FILENAME
Полный путь локальной файловой системы к файлу или сценарию, соответствующему запросу.

Но почему бы вам не использовать $1 в таких условиях, поскольку это также пункт назначения, на который вы хотите перенаправить:

RewriteCond /home/ash/projects/carshop/trunk/web/perhost/%{HTTP_HOST}/$1 -f
RewriteRule (.*) /perhost/%{HTTP_HOST}/$1 [L]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...