Настройка конфига, location, root
SergXP
nginx-forum на nginx.us
Пт Июн 29 15:45:30 UTC 2012
Всем привет!
Помогите разобраться с такой
проблемой.
Имею структуру директорий:
-site.ru/
-- library/
-- admin/
---- public_html/
-- sites/
---- main_site/
------- public_html/
---- site2/
------- public_html/
---- site3/
------- public_html/
Пытаюсь с делать так, чтобы при заходе
на страницу
http://site.ru/admin/ сервер начинал брать
данные из папки /site.ru/admin/public_html/
в остальных случаях:
http://site.ru/ из /site.ru/sites/main_site/public_html/
http://site.ru/about/ из /site.ru/sites/main_site/public_html/
и тд
И при заходе на сайт
http://site3.site.ru/ из /site.ru/sites/site3/public_html/
Помогите разобраться и настроить
правильно конфиг.
Вот что у меня получается.
При заходе на http://site.ru/admin/
[error] 29922#0: *1 "/var/www/site.ru/admin/public_html/admin/index.php"
is not found (2: No such file or directory)
При заходе на http://site.ru/ пустая страница.
Конфиг
server {
listen 80;
server_name site.ru *.site.ru;
root /var/www/site.ru;
access_log /var/log/nginx.access_log;
location / {
root /var/www/site.ru/sites/main_site/public_html/;
index index.php;
}
location /admin/ {
root /var/www/site.ru/admin/public_html/;
index index.php;
}
# Deny access to sensitive files.
location ~ (\.inc\.php|\.tpl|\.sql|\.tpl\.php|\.db)$ {
deny all;
}
location ~ \.htaccess {
deny all;
}
# Rewrite rule adapted from zendapp/public/.htaccess
if (!-e $request_filename) {
rewrite ^.*$ /index.php last;
}
# PHP scripts will be forwarded to fastcgi processess.
# Remember that the `fastcgi_pass` directive must specify the same
# port on which `spawn-fcgi` runs.
location ~ \.php$ {
include /etc/nginx/fastcgi_params;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param APPLICATION_ENV development;
}
location = /50x.html {
root /var/www/default;
}
}
Posted at Nginx Forum: http://forum.nginx.org/read.php?21,228109,228109#msg-228109
Подробная информация о списке рассылки nginx-ru