Итак, у меня есть следующие ссылки:Apache перенаправлять все дочерние каталоги, за исключением одного
www.example.com/parent/child1
www.example.com/parent/child2
www.example.com/parent/child3
www.example.com/parent/cool-feature
www.example.com/parent/product
etc...
мне нужно перенаправить все ребенок за исключением child2
к новому домену.
До сих пор я придумал:
RedirectMatch ^/parent(?!/child2) http://www.new-example.com/parent/
Это работает для:
www.example.com/parent/child2
но не для:
www.example.com/parent/child2/
благодаря слэш
без толку, я пытался:
RedirectMatch ^/parent(?!/child2/) http://www.new-example.com/parent/
RedirectMatch ^/parent(?!/child2\/) http://www.new-example.com/parent/
RedirectMatch ^/parent(?!/child2)/ http://www.new-example.com/parent/
RedirectMatch ^/parent/(?!child2)/ http://www.new-example.com/parent/
С вашим правилом, ни '/ родителя/child2', ни'/родитель/child2/'будет перенаправлен –
Я согласен с @DusanBajic, ваш первоначальный' директива RedirectMatch', кажется, работает хорошо для меня. Есть ли у вас какие-либо другие директивы, которые, возможно, противоречат друг другу? Являются ли директории, файлы или URL-адреса 'child1',' child2' и т. Д. Сопоставлены с передним контроллером? Полагаю, что позже, так что у вас есть существующие директивы mod_rewrite? Кроме того, очистите кеш браузера, если ранее был заблокирован ошибочный 301. – DocRoot
@DusanBajic Да, это то, что я ищу. К сожалению, '/ parent/child2 /' перенаправляется; Я не хочу, чтобы он перенаправлялся. – MonkeyZeus