У меня есть эта конфигурация Nginx:места подкаталога Nginx с переписыванием Друпало
server {
listen 80;
server_name example.com www.example.com;
location =/{
root /var/www/example.com;
index index.php;
}
location/{
root /var/www/example.com/Drupal;
index index.php index.html;
if (!-f $request_filename) {
rewrite ^(.*)$ /index.php?q=$1 last;
break;
}
if (!-d $request_filename) {
rewrite ^(.*)$ /index.php?q=$1 last;
break;
}
}
location ~ \.php$ {
set $php_root /var/www/example.com/Drupal;
if ($request_uri ~ ^/MassMail) {
set $php_root /var/www/example.com/MassMail;
}
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include /etc/nginx/fastcgi_params;
fastcgi_param SCRIPT_FILENAME $php_root$fastcgi_script_name;
}
У меня есть 2 приложения в PHP:
- первых в /var/www/example.com/MassMail
- второй в /var/www/example.com/Drupal (блог, Drupal)
мой сервер служит правильный два URL
example.com/ -> друпал блог
example.com/MassMail -> другое приложение
но это не служит изображение или JavaScript ... (ошибка 404)
для обслуживания IMG и т.д. я испытал много вещей, как это (например, ...):
location ~* ^.+.(jpg|jpeg|gif|css|png|js|ico)$ {
expires 30d;
access_log off;
}
возможно отсутствует корневой каталог, но?
спасибо Сергею! на самом деле да, это работает ... но у меня есть 2 места статического контента для 2 приложений ... если у меня есть 75 приложений? 75 местоположений статического содержимого? для этого нет никакого общего способа? –
Ну, на самом деле, у вас есть вторая конфигурация, но это не очень хорошая практика. Лучше всего использовать для каждого приложения специальный файл с конфигурацией (см. Пример №3) –
спасибо за все :) –