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 + Входящая маршрутизация электронной почты

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

DevOpsLinux и Unix ∙ 2 дня 23 часа назад ∙ 11 ставок

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