Я хочу перенаправить следующие 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]