RewriteRule ^/en/blog/events-private/(.*) /en/events-private/$1
В .htaccess
шаблон RewriteRule
соответствует URL-пути после того, как префикс каталога (который ведет к файлу .htaccess
) будет первымбыли удаленыПрефикс каталога всегда заканчивается косой чертой, поэтому соответствующий URL-путь никогда не начинается с косой черты.Другими словами, вам просто нужно удалить префикс косой черты:
RewriteRule ^en/blog/events-private/(.*) /en/events-private/$1 [R=301,L]
(и не забывайте флаги R
и L
.)
Обратите внимание, что это контрастирует сиспользование mod_rewrite в контексте server (или virtualhost ).В этом контексте вам нужен префикс косой черты!Поскольку в контексте server шаблон соответствует полному URL-пути.
Кроме того, директива RewriteBase
в этом примере является излишней (поскольку вы нене используется относительная замена ).И оболочку <IfModule mod_rewrite.c>
, вероятно, следует удалить (если только она не предназначена для работы в системах без mod_rewrite).