Замена RewriteRules для Server Stat System

Думаю многие играли или играют или хотя-бы слышали о такой популярной игрухе как Counter Strike. Серверов с этой игрой в сети как грязи нынче.
В общем случилось поднимать игровой сервак + веб морду для модуля статистики Server Stat System.

Вкратце о ситуации, сама машин – VDS на Debian linux x64, достаточно сильная по железу, заточена и оптимизирована исключительно под веб. На серваке достаточно крупный форум.
Софт для такой ситуации стандартный: nginx, php-fastcgi, memcache и прочие радости. Apache отсутствует за ненадобностью :).
Сервер Counter Strike решили поднять чисто ради развлекухи местного населения, то есть обитателей форума, благо - ресурсы позволяют.
В сети была найдена сборка сервера под linux x64, установлена, настроена, залиты карты, моды и т.д.
Последним было поднять на субдомене веб - морду для игровой статистики, представляет из себя небольшой движок на PHP-Smarty.
Ставить тяжеленный Apache только ради игровой статистики, показалось не кошерно. Поэтому все было прикручено на nginx– php-fastcgi.
В комплекте идет файл .htaccess с совсем небольшим набором правил, однако просидел с ними несколько часов, сразу как-то с этим не заладилось :), в общем привожу готовый вариант для Server Stat System.
Правила .htaccess Apache для Server Stat System версии 1.5:

  1. RewriteEngine on
  2. DirectoryIndex index.php
  3.  
  4. RewriteRule ^configs - [L]
  5.  
  6. RewriteCond %{REQUEST_FILENAME} -f
  7. RewriteRule (jpg|css|js|png|ico|gif)$ - [L]
  8.  
  9. RewriteRule .* index.php

Конфиг nginx для той-же версии движка

server {
    listen              80;
    server_name stats.domain.ru;

    access_log logs/stats.access.log  main;
    error_log   logs/stats.error.log error;

    root /home/cs/public_html;

    rewrite index(.*) /index.php last;
    rewrite .+/([\d]+)\.html /index.php last;

    location / {
        index  index.php;
    }

    location ~ \.php$ {
        fastcgi_pass   unix:/tmp/fastcgi.sock;
        fastcgi_index  index.php;
        fastcgi_read_timeout        3m;
        fastcgi_send_timeout        3m;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        include        fastcgi_params;
    }

    location ~ \.(css|js){
        gzip_static on;
        expires 30d;
        access_log off;
        add_header Cache-Control public;
    }

    location ~ \.(jpg|png|gif|ico){
        expires             30d;
        access_log off;
        add_header          Cache-Control public;
    }


#### Нужно было для предыдущей версии этого-же движка, вроде 1.1
#    location /getcss {
#       rewrite ^/getcss(/.+\.(css|js))$ $1 last;
#    }
#######################################################


    error_page  404             = /404.html;
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   html;
    }

    location ~ /\.ht {
        deny  all;
    }
}

Конфиг рабочий, ни на что не претендует, просто как отправная точка, что-то все равно нужно допиливать индивидуально.

Комментарии

Спасибо!

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

Содержание этого поля является приватным и не предназначено к показу.
Регистр имеет значение
 ooo        ooooo  oooooooooooo              oooooooooo.    ooooooooo.    ooooooo  ooooo 
`88. .888' `888' `8 `888' `Y8b `888 `Y88. `8888 d8'
888b d'888 888 .oooooooo 888 888 888 .d88' Y888..8P
8 Y88. .P 888 888oooo8 888' `88b 888 888 888ooo88P' `8888'
8 `888' 888 888 " 888 888 888 888 888 .8PY888.
8 Y 888 888 o `88bod8P' 888 d88' 888 d8' `888b
o8o o888o o888ooooood8 `8oooooo. o888bood8P' o888o o888o o88888o
d" YD
"Y88888P'
Введите код, изображенный в стиле ASCII-арт.