Здравствуйте, нужно решить проблему, весь сайт кроме некоторых динамических страниц обрабатывается nginx.
Есть модуль который запрашивается через index.php с get параметрами.
При попытке добавить правило обхода кеширования, каким то образом переписалось правило которое отвечает за запрет кеширования данных в админке.
location = /index.php {
if ($args ~ tmpl=module){
proxy_pass http://localhost:81;
}
}
Как сделать так что бы правило работало только для Index.php в корне сайта?
Или можно как то применить правило только если обращаются к "index.php?tmpl=module"
После index.php?tmpl=module могут добавиться еще параметры
Весь конфиг
server {
listen 80;
server_name www.адрес_сайта.ру;
return 301 http://адрес_сайта.ру$request_uri;
}
server {
listen 666;
server_name адрес_сайта.ру;
location / {
proxy_pass http://localhost:81;
}
}
server {
listen 80;
server_name адрес_сайта.ру;
access_log /var/log/nginx/proved-ru-access.log;
error_log /var/log/nginx/proved-ru-error.log warn;
location / {
proxy_cache one;
proxy_pass http://localhost:81;
# Прячем куки других пользователей
proxy_hide_header "Set-Cookie";
# Игнорируем строки не кэшировать
proxy_ignore_headers "Set-Cookie" "Cache-Control" "Expires";
}
#location = /index.php {
# if ($args ~ tmpl=module){
# proxy_pass http://localhost:81;
# }
#}
location /administrator/ {
# http://kbeezie.com/apache-with-nginx
# these two lines tell Apache the actual IP of the client being forwarded
# Apache requires mod_proxy (http://bit.ly/mod_proxy) for these to work
# Most Apache 2.0+ servers have mod_proxy configured already
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
# this next line adds the Host header so that apache knows which vHost to serve
# the $host variable is automatically set to the hostname Nginx is responding to
proxy_set_header Host $host;
# And now we pass back to apache
# if you're using a side-by-side configuration the IP can be changed to
# apache's bound IP at port 80 such as http://192.170.2.1:80
proxy_pass http://localhost:81;
}
location /feeds/ {
proxy_pass http://localhost:81;
}
location ~* /blogs {
proxy_pass http://localhost:81;
}
location /component/jcomments/ {
proxy_pass http://localhost:81;
}
location /components/com_blogs/assets/php/captcha/{
proxy_pass http://localhost:81;
}
location /form.php{
proxy_pass http://localhost:81;
}
location /test.php{
proxy_pass http://localhost:81;
}
location /components/com_jcomments/helpers/notification.php{
proxy_pass http://localhost:81;
}
location /search.html{
proxy_pass http://localhost:81;
}
location ~* \.(jpg|jpeg|png|gif|ico|pdf|swf|css|doc|docx|ppt|pptx|xls|xlsx)$ {
expires 1y;
root /var/www/www-en;
}
}