Конфиг Nginx для Cotonti

Конфиг Nginx для Cotonti

Если Вам нужно установить сайт на Cotonti на web-сервер Nginx без Apache. В этом случае у Вас не будет возможности обрабатывать файлы .htaccess, но это и не нужно.

Вы можете использовтаь приведенный ниже конфиг.

Предположим, что домен Вашего сайта your_domain.com, а /path/to/your/site/public_html - путь к корневой папке Вашего сайта.

 

# Редирект с www.your_domain.com на урл без www
# Это же можно сделать и для https:
server {
    listen 80;
    server_name www.your_domain.com;
    return 301 $scheme://your_domain.com$request_uri;
}

server {

    # HTTP Auth
    # Нужна http авторизация?
    #auth_basic "Hello, Admin, please login";
    #auth_basic_user_file /path/to/your/site/my_site/.htpasswd;
    
    # Domains
    # Домен Вашего сайта
    server_name your_domain.com;

    # Ports
    # Порты
    # HTTP
    listen 80;
    # HTTPS
    # listen 443 ssl;

    # Logs
    # Логи. Access лог не особо нужен. 
    #    access_log /path/to/your/site/logs/access.log;
    # Error log, по большому счету, можно включать только по необходимости 
    error_log /path/to/your/site/logs/error.log;
    
    # Root
    root /path/to/your/site/public_html;
    index index.php;
    
    # SSL
    #ssl_protocols           TLSv1 TLSv1.1 TLSv1.2;
    #ssl_ciphers             HIGH:!RC4:!aNULL:!MD5:!kEDH;
    #ssl_certificate         /path/to/ssl/sertificate.crt;
    #ssl_certificate_key     /path/to/ssl/ssl/ertificate.key;
    #ssl_session_cache       shared:SSL:10m;
    #ssl_session_timeout     10m;

    
    # Сonvince user that we have no Git
    # Скрываем присутсвие Git
    location ~ /\.git { 
        return 404; 
    } 

    # Deny access to .htaccess files
    location ~ /\.ht {
        deny all;
    }
    
    # Specifically disable the execution of PHP files in any directory containing user uploads:
    # Запрещаем исполнение php-скриптов в папках, куда пользователи могут загружать файлы
    location ~ /datas/(users|avatars|defaultav|exflds|files|photos|thumbs) {
        location ~ \.php$ {return 403;}
    }
    location /public {
        location ~ \.php$ {return 403;}
    }
    
    # File protection
    # Эти файлы пользователю читать ни к чему
    location ~ \.(tpl|dat)$ {
        #deny all;
        return 404;
    }
    
    location / {
        index index.php index.html index.htm;
        
        # Language selector
        # Выбор языка сайта
        rewrite "^/(en|ru|de|nl)/(.*)" /$2?l=$1;

        # Sitemap shortcut
        # Ссылка на карту сайта (при включенном плагине Sitemap)
        rewrite ^/sitemap\.xml$ /index.php?r=sitemap last;

        # Admin area and message are special scripts
        # Админка и некоторые специальные скрипты
        rewrite "^/admin/([a-z0-9]+)" /admin.php?m=$1 last;
        rewrite "^/(admin|login|message)(/|\?|$)" /$1.php last;
        
        # System category has priority over /system folder
        # Категория System. Да и пользователю нечено делать в папке "system"
        rewrite "^/system/?$"  /index.php?rwr=system last;
        
        # All the rest goes through standard rewrite gateway
        # Остальные урлы перезаписываем
        try_files $uri $uri/ /index.php?rwr=$uri&$args;
        
        # Если Ваш сайт умеет обрабатывать 404 ошибки
        error_page 404 /404.html;
    }
    
    location ~ \.php$ {
        # upstream name или soсket или IP:port
        fastcgi_pass php_upstream;
		
        fastcgi_index index.php;
		
        # Если Вы используете chroot - то путь следует указывать относительно корня chroot
        fastcgi_param SCRIPT_FILENAME     /path_to_site_from_chroot/public_html$fastcgi_script_name;
		
        include fastcgi_params;
		
        # 2 строки ниже нужны при использовании chroot и путь следует указывать 
        # относительно корня chroot
        # Иначе их можно опустить. Соотвествующие параметры должны быть в подключаемом 
        # файле fastcgi_params
        fastcgi_param  DOCUMENT_ROOT     /path_to_site_from_chroot/public_html;
        fastcgi_param  PATH_TRANSLATED   /path_to_site_from_chroot/public_html$fastcgi_script_name;
		
        # Если Ваш сайт умеет обрабатывать 404 ошибки
        error_page 404 /404.html;
    }
}
 
Опубликовано: Alex
Комментарии: (0)
Рейтинги:  
0

Теги:

Nginx

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


Комментарии отсутствуют

Оставить комментарий:

* Просьба все технические вопросы, которые могут потребовать обсуждения, задавать на форуме.
** все некорректные и рекламные посты будут удаляться, ненормативная лексика и оскорбительные высказывания запрещаются.

* Для редактирования комментария осталось 15 минут