История изменений
Исправление Xintrea, (текущая версия) :
Получается, она бы там обрабатывалась в location / в режиме показа индекса соответствующей директории.
А, я частично понял. Я то думал что все можно разрулить только фильтрацией локаций, и только их показывал. Перед локациями у меня прописано вот что:
index index.php index.html index.htm;
# Редирект с контроллера главной страницы на стартовый URL
rewrite ^(.*)/site/page/index/main$ http://имя_сайта.ru permanent;
if (!-e $request_filename) {
rewrite "^/(.*)$" /index.php?$1 last;
}
То есть, все что запрашивается по ссылке без php, определяется как обращение к директории/файлу. И это обращение реврайтится на использование /index.php, а сам линк передается как параметр GET-запроса. Это рекомендованная настройка фреймверка, который у меня используется.
Я включил отладку, и увидел, как преобразуется строка запроса https://имя_сайта/site/page/index/guestbook. Получается вот так:
18:15:22 [debug] 101227#101227:
*5 http upstream request: "/index.php?site/page/index/guestbook"
Увидев это, я подправил локацию на такую:
location ^~ /index.php?site/page/index/guestbook {
limit_req zone=ipAddrZone burst=4 nodelay;
try_files . @php; # Вызов именованной локации
}
Перегрузил nginx. Но и такая настройка не блокирует частые обращения к этой странице.
Тогда я попробовал проверить, что будет если я в строке браузера напишу напрямую эту же локацию:
https://имя_сайта/index.php?site/page/index/guestbook
Я то думал, что увижу страницу гостевой, но нет - меня перебросило на главную страницу сайта. Удивительно.
Тогда я написал в строке браузера то же самое, только поставив косую «/» после знака "?", вот так:
https://имя_сайта/index.php?/site/page/index/guestbook
И у меня отобразилась гостевая книга. Но частые запросы на этот «прямой» URL все так же не блокируются.
* * *
Теперь у меня помимо вопроса почему не работает блокировка частых обращений к странице, появился другой вопрос:
Почему URL /index.php?site/page/index/guestbook, получаемый в глубинах Nginx, отображает гостевую страницу, но этот же URL, будучи написанный напрямую в строке браузера - выкидывает на главную?
Исправление Xintrea, :
Получается, она бы там обрабатывалась в location / в режиме показа индекса соответствующей директории.
А, я частично понял. Я то думал что все можно разрулить только фильтрацией локаций, и только их показывал. Перед локациями у меня прописано вот что:
index index.php index.html index.htm;
# Редирект с контроллера главной страницы на стартовый URL
rewrite ^(.*)/site/page/index/main$ http://имя_сайта.ru permanent;
if (!-e $request_filename) {
rewrite "^/(.*)$" /index.php?$1 last;
}
То есть, все что запрашивается по ссылке без php, определяется как обращение к директории/файлу. И это обращение реврайтится на использование /index.php, а сам линк передается как параметр GET-запроса. Это рекомендованная настройка фреймверка, который у меня используется.
Я включил отладку, и увидел, как преобразуется строка запроса https://имя_сайта/site/page/index/guestbook. Получается вот так:
18:15:22 [debug] 101227#101227:
*5 http upstream request: "/index.php?site/page/index/guestbook"
Увидев это, я подправил локацию на такую:
location ^~ /index.php?site/page/index/guestbook {
limit_req zone=ipAddrZone burst=4 nodelay;
try_files . @php; # Вызов именованной локации
}
Перегрузил nginx. Но и такая настройка не блокирует частые обращения к этой странице.
Тогда я попробовал проверить, что будет если я в строке браузера напишу напрямую эту же локацию:
https://имя_сайта/index.php?site/page/index/guestbook
Я то думал, что увижу страницу гостевой, но нет - меня перебросило на главную страницу сайта. Удивительно.
Тогда я написал в строке браузера то же самое, только поставив косую «/» после знака "?", вот так:
https://имя_сайта/index.php?/site/page/index/guestbook
И у меня отобразилась гостевая книга. Но частые запросы на этот «прямой» URL все так же не блокируются.
* * *
Теперь у меня помимо вопроса почему не работает блокировка частых запросов появился другой вопрос:
Почему URL /index.php?site/page/index/guestbook, получаемый в глубинах Nginx, отображает гостевую страницу, но этот же URL, будучи написанный напрямую в строке браузера - выкидывает на главную?
Исправление Xintrea, :
Получается, она бы там обрабатывалась в location / в режиме показа индекса соответствующей директории.
А, я частично понял. Я то думал что все можно разрулить только фильтрацией локаций, и только их показывал. Перед локациями у меня прописано вот что:
index index.php index.html index.htm;
# Редирект с контроллера главной страницы на стартовый URL
rewrite ^(.*)/site/page/index/main$ http://имя_сайта.ru permanent;
if (!-e $request_filename) {
rewrite "^/(.*)$" /index.php?$1 last;
}
То есть, все что запрашивается по ссылке без php, определяется как обращение к директории/файлу. И это обращение реврайтится на использование /index.php, а сам линк передается как параметр GET-запроса. Это рекомендованная настройка фреймверка, который у меня используется.
Я включил отладку, и увидел, как преобразуется строка запроса https://имя_сайта/site/page/index/guestbook. Получается вот так:
18:15:22 [debug] 101227#101227:
*5 http upstream request: "/index.php?site/page/index/guestbook"
Увидев это, я подправил локацию на такую:
location ^~ /index.php?site/page/index/guestbook {
limit_req zone=ipAddrZone burst=4 nodelay;
try_files . @php; # Вызов именованной локации
}
Перегрузил nginx. Но и такая настройка не блокирует частые обращения к этой странице.
Тогда я попробовал проверить, что будет если я в строке браузера напишу напрямую эту же локацию:
https://имя_сайта/index.php?site/page/index/guestbook
Я то думал, что увижу страницу гостевой, но нет - меня перебросило на главную страницу сайта. Удивительно.
Тогда я написал в строке браузера то же самое, только поставив косую «/» после знака "?", вот так:
https://имя_сайта/index.php?/site/page/index/guestbook
И у меня отобразилась гостевая книга. Но частые запросы на этот «прямой» URL все так же не блокируются.
Теперь у меня помимо вопроса почему не работает блокировка частых запросов появился другой вопрос:
Почему URL /index.php?site/page/index/guestbook, получаемый в глубинах Nginx, отображает гостевую страницу, но этот же URL, будучи написанный напрямую в строке браузера - выкидывает на главную?
Исправление Xintrea, :
Получается, она бы там обрабатывалась в location / в режиме показа индекса соответствующей директории.
А, я частично понял. Я то думал что все можно разрулить только фильтрацией локаций, и только их показывал. Перед локациями у меня прописано вот что:
index index.php index.html index.htm;
# Редирект с контроллера главной страницы на стартовый URL
rewrite ^(.*)/site/page/index/main$ http://имя_сайта.ru permanent;
if (!-e $request_filename) {
rewrite "^/(.*)$" /index.php?$1 last;
}
То есть, все что запрашивается по ссылке без php, определяется как обращение к директории/файлу. И это обращение реврайтится на использование /index.php, а сам линк передается как параметр GET-запроса. Это рекомендованная настройка фреймверка, который у меня используется.
Я включил отладку, и увидел, как преобразуется строка запроса https://имя_сайта/site/page/index/guestbook. Получается вот так:
18:15:22 [debug] 101227#101227:
*5 http upstream request: "/index.php?site/page/index/guestbook"
Увидев это, я подправил локацию на такую:
location ^~ /index.php?site/page/index/guestbook {
limit_req zone=ipAddrZone burst=4 nodelay;
try_files . @php; # Вызов именованной локации
}
Перегрузил nginx. Но и такая настройка не блокирует частые обращения к этой странице.
Тогда я попробовал проверить, что будет если я в строке браузера напишу напрямую эту же локацию:
https://имя_сайта/index.php?site/page/index/guestbook
Я то думал, что увижу страницу гостевой, но нет - меня перебросило на главную страницу сайта. Удивительно.
Тогда я написал в строке браузера то же самое, только поставив косую «/» после знака "?", вот так:
https://имя_сайта/index.php?/site/page/index/guestbook
И у меня отобразилась гостевая книга. Но частые запросы на этот «прямой» URL все так же не блокируются.
Теперь у меня помимо вопроса почему не работает блокировка частых запросов появился другой вопрос:
Почему URL /index.php?site/page/index/guestbook, получаемый в глубинах Nginx, отображает гостевую страницу, но этот же URL, будучи написанный напрямую в строке браузера - выкидывает на главную?
Исправление Xintrea, :
Получается, она бы там обрабатывалась в location / в режиме показа индекса соответствующей директории.
А, я частично понял. Я то думал что все можно разрулить только фильтрацией локаций, и только их показывал. Перед локациями у меня прописано вот что:
index index.php index.html index.htm;
# Редирект с контроллера главной страницы на стартовый URL
rewrite ^(.*)/site/page/index/main$ http://имя_сайта.ru permanent;
if (!-e $request_filename) {
rewrite "^/(.*)$" /index.php?$1 last;
}
То есть, все что запрашивается по ссылке без php, определяется как обращение к директории/файлу. И это обращение реврайтится на использование /index.php, а сам линк передается как параметр GET-запроса. Это рекомендованная настройка фреймверка, который у меня используется.
Я включил отладку, и увидел, как преобразуется строка запроса https://имя_сайта/site/page/index/guestbook. Получается вот так:
18:15:22 [debug] 101227#101227:
*5 http upstream request: "/index.php?site/page/index/guestbook"
Увидев это, я подправил локацию на такую:
location ^~ /index.php?site/page/index/guestbook {
limit_req zone=ipAddrZone burst=4 nodelay;
try_files . @php; # Вызов именованной локации
}
Перегрузил nginx. Но и такая настройка не блокирует частые обращения к этой странице.
Тогда я попробовал проверить, что будет если я в строке браузера напишу напрямую эту же локацию:
https://имя_сайта/index.php?site/page/index/guestbook
Я то думал, что увижу страницу гостевой, но нет - меня перебросило на главную страницу сайта. Удивительно.
Тогда я написал в строке браузера то же самое, только поставив косую «/» после знака "?", вот так:
https://имя_сайта/index.php?/site/page/index/guestbook
И у меня отобразилась гостевая книга. Но частые запросы на этот «прямой» URL все так же не блокируются.
Теперь у меня помимо вопроса почему не работает блокировка частых запросов появился другой вопрос:
А почему URL /index.php?site/page/index/guestbook, получаемый в глубинах Nginx, отображает гостевую страницу, а тот же URL, написанный напрямую в строке браузера - выкидывает на главную?
Исходная версия Xintrea, :
Получается, она бы там обрабатывалась в location / в режиме показа индекса соответствующей директории.
А, я частично понял. Я то думал что все можно разрулить только фильтрацией локаций, и только их показывал. Перед локациями у меня прописано вот что:
index index.php index.html index.htm;
# Редирект с контроллера главной страницы на стартовый URL
rewrite ^(.*)/site/page/index/main$ http://имя_сайта.ru permanent;
if (!-e $request_filename) {
rewrite "^/(.*)$" /index.php?$1 last;
}
То есть, все что запрашивается по ссылке без php, определяется как обращение к директории/файлу. И это обращение реврайтится на использование /index.php, а сам линк передается как параметр GET-запроса. Это рекомендованная настройка фреймверка, который у меня используется.
Я включил отладку, и увидел, как преобразуется строка запроса https://имя_сайта/site/page/index/guestbook. Получается вот так:
18:15:22 [debug] 101227#101227:
*5 http upstream request: "/index.php?site/page/index/guestbook"
Увидев это, я подправил локацию на такую:
location ^~ /index.php?site/page/index/guestbook {
limit_req zone=ipAddrZone burst=4 nodelay;
try_files . @php; # Вызов именованной локации
}
Перегрузил nginx. Но и такая настройка не блокирует частые обращения к этой странице.
Тогда я попробовал проверить, что будет если я в строке браузера напишу напрямую эту же локацию:
https://имя_сайта/index.php?site/page/index/guestbook
Я то думал, что увижу страницу гостевой, но нет - меня перебросило на главную страницу сайта. Удивительно.
Тогда я написал в строке браузера то же самое, только поставив косую «/» после знака "?", вот так:
https://имя_сайта/index.php?/site/page/index/guestbook
И у меня отобразилась гостевая книга. Но частые запросы на этот «прямой» URL все так же не блокируются.
Теперь у меня помимо вопроса почему не работает блокировка частых запросов появился другой вопрос:
А почему URL /index.php?site/page/index/guestbook, получаемый в глубинах Nginx, отображает гостевую страницу, а тот же URL, написанный напрямую в строке браузера - выкидывает на главную?