Замена 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:
RewriteEngine on
DirectoryIndex index.php
RewriteRule ^configs - [L]
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule (jpg|css|js|png|ico|gif)$ - [L]
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;
}
}
Конфиг рабочий, ни на что не претендует, просто как отправная точка, что-то все равно нужно допиливать индивидуально.
Комментарии
Отправить комментарий