Nginx переписывает для URL, который должен иметь тире

Этот позволяет все с расширением.html, которое не содержит косых черт:

rewrite ^/([^/]+).html$ ...

Мне нужно добавить еще один улов: URL должен содержать хотя бы одну черту, тогда его можно переписать.

Как это сделать?

1 ответ

Решение

Просто используйте логику. Слово с хотя бы одним тире может быть выражено двумя словами с тире между ними. Так что решение простое:

rewrite ^/([^/]+-[^/]+)\.html$.

Тоже забыл уйти от точки (.) так что ваше регулярное выражение также соответствует URL /somesstrangehtml

Другие вопросы по тегам