2014-09-03 4 views
1

Я пытаюсь перенаправить кучу URL-адресов со старого сайта на блестящий перезапущенный сайт. Мой .htaccess работает с первым уровнем каталогов (т. Е. Example.com/directory перенаправляется на example.com/newdirectory), но у меня возникают проблемы с перенаправлением ниже. Вот пример одного, который не работает:.htaccess перенаправляет только на часть URL-адреса

Redirect 301 /Expertise/QuantitativeResearch/ /services/quantitative-research/ 

Это идет в example.com/services/QuantitativeResearch - поэтому каталог Экспертиза перенаправлены, но QuantitativeResearch часть URL не является.

Я попытался изменить его на RedirectMatch301, но это не поможет. Мне интересно, нужно ли мне лишать/Expertise/и использовать какое-то Regex?/Экспертиза/часть уже перенаправлены/услуг/по другой линии:

Redirect 301 /Expertise/ /services/ 

Может ли это быть причиной конфликта? Я знаю, что, вероятно, я пропустил что-то действительно основное! Чтобы уточнить, мои переадресации все идут после и до RewriteEngine On.

Заранее благодарен!

ответ

0

Вам нужно использовать совпадение, основанное на регулярном выражении. Попробуйте RedirectMatch вместо этого:

RedirectMatch 301 ^/Expertise/QuantitativeResearch/?$ /services/quantitative-research/ 

RedirectMatch 301 ^/Expertise/(.*)$ /services/$1 
+1

Не должно ли ваше второе перенаправление находиться в первом положении? В противном случае текущий первый будет соответствовать всему, что находится под '/ Экспертиза /' –

+0

Да, должно быть, спасибо, что я этого не заметил. – anubhava

+0

Спасибо, оба! Это работает, хотя у меня есть еще одна проблема - когда вы ищете эту компанию, есть ссылка в результатах поиска, которая является www.example.com/Expertise/ProductTesting. Нажав на него, вы удаляете www (который он должен), но затем по-прежнему идет example.com/services/ProductTesting. Когда вы просто вводите URL-адрес (например, example.com/Expertise/ProductTesting), он перенаправляет, поэтому я не понимаю, почему он не делает этого с помощью результата Google. Еще раз спасибо за помощь! – fincherley