Поясню на примере. Скажем, у меня есть это правило перенаправления в моем файле .htaccess:
RedirectMatch 301 ^/([^/]+)/([^/]+)/$ http://www.example.com/$2
В основном он выполняет перенаправление http://www.mysite.com/sports/test-post/
к http://www.mysite.com/test-post/
.
Теперь, как мне изменить правило .htaccess, чтобы сделать наоборот? (т.е. перенаправление http://www.mysite.com/test-post/
к http://www.mysite.com/sports/test-post/
)
RewriteCond %{REQUEST_URI} !^/sports/ [NC]
RewriteRule ^/([^/]+)/(.*)$ http://www.example.com/sports/$1/$2 [R=301]
Это также отправит /test-post/blah/
к /sports/test-post/blah
- если вы не хотите выполнять перенаправление, когда там есть лишнее, откажитесь от (.*)
из строки соответствия и $2
из строки замены.