.htaccess перенаправляет все содержимое вложенных папок (с и без окончания слэша) в одну и ту же подпапку

Я хочу перенаправить следующие URL-адреса:

/gallery/image-1/ /gallery/image-1 /gallery/image-2/ /gallery/image-2 

to /gallery/ , но это сложнее, чем кажется на первый взгляд. Это из .htaccess:

 RewriteEngine On RewriteRule ^gallery/(.*) /gallery/ [R=301,L,NC] 

Все URL-адреса изначально перенаправляются в /gallery/ , но затем он просто продолжает загружаться, поскольку, по-видимому, этот URL-адрес также находится под ^gallery/(.*) , поэтому он перенаправляет на тот же URL-адрес. Через несколько секунд браузер дает мне сообщение ERR_TOO_MANY_REDIRECTS .

Как я могу отредактировать оператор ^gallery/(.*) чтобы охватывать только URL-адреса с помощью /gallery/ URL?

Вы должны использовать .+ Вместо .* В своем регулярном выражении, чтобы убедиться, что перестаете перенаправлять, когда URI is /gallery/ :

 RewriteEngine On RewriteRule ^(gallery)/.+$ /$1/ [R=301,L,NC]