Switch to English?
Yes
Переключитись на українську?
Так
Переключиться на русскую?
Да
Przełączyć się na polską?
Tak
Розмістіть свій проєкт безплатно та почніть отримувати пропозиції від фрилансерів-виконавців уже через хвилини після публікації!

задача для сисадмина


  • Александр Ш.
    6 вересня 2018, 17:40 |

    Привет!

    Что-то типа

    rewrite ^([^.\?]*[^/])$ $1/ permanent;




  • Александр Ш.
    6 вересня 2018, 17:41 |

    Или так

    rewrite ^([^.]*[^/])$ $1/ permanent;
  • Александр Ш.
    6 вересня 2018, 17:42 |

    это из старых конфигов - были похожие задачи - вставьте в нужный Вам location

  • Владимир Витковский
    6 вересня 2018, 17:44 |

    Добрый день. А насколько проблематично в формах для POST запроса ставить параметр "action" сразу со слешем? Необходимо именно автоматическое переназначение в NGINX?

  • Анатолій Я.
    6 вересня 2018, 17:50 |

    В системе есть куча шаблонов с кучей урлов как со слешами так и без, так же много JS кода как со слешами так и без. Ручной поиск и обновление может занять значительное время, потому и уточняем сделать это централизованно.

  • Владимир Витковский
    6 вересня 2018, 18:17 |

    В POST запросах $query_string отсутствует?

  • Анатолій Я.
    7 вересня 2018, 10:37 |

    Могут и присутствовать.

  • Анатолий Ф.
    7 вересня 2018, 10:39 |

    Может переадресацию отключить для пост запоросов? По факту обычный юзер их не может отправлять.

  • Владимир Витковский
    7 вересня 2018, 10:50 |

    Во всяком случае, думаю, стоит разделить два запроса и экспериментировать с каждым поотдельности:
    if ($request_method = POST)
    {
    rewrite [^/]$ $uri/ permanent;
    rewrite ^ /index.php?$query_string;
    }
    if ($request_method = GET )
    {
    rewrite [^/]$ $uri/ permanent;
    rewrite ^ /index.php?$query_string;
    }

  • Александр Ш.
    7 вересня 2018, 10:59 |

    Зачем?


    В условиях проекта сказано - переделывать все запросы без слеша.

    То есть ВСЕ - так звучит условие.

    Я предложил Заказчику 2 правила - одно из них изменяет вообще все запросы, второе игнорирует запросы с параметрами.


    Для чего разбивать на отдельные условия?

    Вы не подумайте - я не с претензией, мне для расширения кругозора, так сказать


  • Владимир Витковский
    7 вересня 2018, 11:18 |

    В вашем примере последний слеш находится в скобках и поэтому будет присутствовать в переменной $1. То есть оно может поставить дополнительный слеш там, где он уже есть. Я не проверял пример на практике, но при беглом взгляде создаётся такое впечатление.

  • Владимир Витковский
    7 вересня 2018, 11:24 |

    Впрочем, нет... Но со звёздочкой посредине слишком "пржорливое" выражение. слеш подпадает под условие звёздочки.

  • Анатолий Ф.
    7 вересня 2018, 3:03 |

    Тут условие прост надо да и все.

Актуальні фриланс-проєкти в категорії Linux та Unix

Розгортання Ruby on Rails проєкту на VPS + Inbound Email Routing

Потрібна допомога в розгортанні платформи для автоматизації запитів на публічну інформацію (на базі open-source рушія Alaveteli). Проєкт працює як поштовий маршрутизатор: генерує унікальні email-адреси для кожного запиту, відправляє їх до державних органів, а відповіді приймає…

DevOpsLinux та Unix ∙ 5 днів 23 години тому ∙ 11 ставок

Замовник
Анатолій Я.
Україна Київ  48  0
Проєкт опублікований
7 років тому
114 переглядів