58 lines
1.6 KiB
Django/Jinja
58 lines
1.6 KiB
Django/Jinja
{% extends "core.j2" %}
|
|
|
|
{% block root %}
|
|
root {{ nginx_www_dir }}{{ item.root }};
|
|
index {{ item.index }};
|
|
try_files {{ item.override_try_files | default('$uri $uri/ /index.php') }};
|
|
{% endblock %}
|
|
|
|
{% block location %}
|
|
|
|
## LOCATIONS
|
|
location / {
|
|
rewrite "^/admin$" "/admin/" permanent;
|
|
|
|
# Clean URL
|
|
rewrite "^/([a-zA-Z0-9-]+)$" "/studs.php?poll=$1" last;
|
|
rewrite "^/([a-zA-Z0-9-]+)/action/([a-zA-Z_-]+)/(.+)$" "/studs.php?poll=$1&$2=$3" last;
|
|
rewrite "^/([a-zA-Z0-9-]+)/vote/([a-zA-Z0-9]{16})$" "/studs.php?poll=$1&vote=$2" last;
|
|
rewrite "^/([a-zA-Z0-9]{24})/admin$" "/adminstuds.php?poll=$1" last;
|
|
rewrite "^/([a-zA-Z0-9]{24})/admin/vote/([a-zA-Z0-9]{16})$" "/adminstuds.php?poll=$1&vote=$2" last;
|
|
rewrite "^/([a-zA-Z0-9]{24})/admin/action/([a-zA-Z_-]+)(/([A-Za-z0-9]+))?$" "/adminstuds.php?poll=$1&$2=$4" last;
|
|
}
|
|
|
|
location ~^/(\.git)/{
|
|
deny all;
|
|
}
|
|
|
|
location ~ /\. {
|
|
deny all;
|
|
}
|
|
|
|
location ~ ^/composer\.json.*$|^/composer\.lock.*$|^/php\.ini.*$|^/.*\.sh {
|
|
deny all;
|
|
}
|
|
|
|
location /admin/ {
|
|
auth_basic "closed site";
|
|
auth_basic_user_file {{ nginx_www_dir }}{{ item.root }}/admin/.htpasswd;
|
|
|
|
location ~ \.php$ {
|
|
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
|
|
include /etc/nginx/fastcgi_params;
|
|
fastcgi_pass unix:{{ pool_listen }};
|
|
}
|
|
|
|
try_files $uri $uri/ =401;
|
|
}
|
|
|
|
location ~ \.php$ {
|
|
{% if item.upstream_params is defined and item.upstream_params is iterable %}
|
|
{% for param in item.upstream_params %}
|
|
{{ param }}
|
|
{% endfor %}
|
|
{% endif %}
|
|
}
|
|
|
|
{% endblock %}
|