2016-01-27 2 views
1

У меня есть много некорректные обратные ссылки, ссылки указывают на:301 перенаправление на полный путь

http://www.domain.com/tags/keyword

в то время как правильный путь

http://www.domain.com/tags/keyword/

Есть сотни те ... как я мог переадресовать 301 с неправильных ссылок на правильные ссылки?

Большое спасибо заранее

+0

Что вы пытаетесь? –

+0

ну, я пробовал разные варианты, читая другие сообщения об этой теме и пытаясь найти логику, но никто из них не работал, мои знания очень ограничены. Если вы можете помочь, я бы очень оценил это, а также, если бы вы могли объяснить решение, чтобы я мог узнать немного больше. – auto22

ответ

1

Вы можете попробовать этот код:

RewriteBase/
RewriteRule ^tags/([^/]+)$ /tags/$1/ [L,R=301] 
  • RewriteBase / говорит апач, что ваш URI начинается на /. Если ваш сайт находился в подпапке, вы должны написать вместо этого RewriteBase /subfolder/.
  • ^tags/([^/]+)$: вы ищете URI, начинающийся с tags/, за которым следует [^/]+, что означает любые символы, кроме /. () вокруг него есть, чтобы захватить его и использовать в перенаправлении. Поэтому мы фиксируем любые символы, которые не являются / между tags/.../ в URI. (^ обозначает начало строки, а $ обозначает конец)
  • /tags/$1/ - это перенаправление. $1 означает первый предыдущий захваченный элемент (одна ведьма была между ()).
  • [L,R=301] указывает apache, что он должен прекратить обработку других правил и перенаправить с кодом заголовка 301.
+0

Прекрасно работая, пожалуйста, объясните, чтобы я мог учиться, оценил! – auto22

+0

Я добавил еще несколько объяснений;) –

+0

Большое вам спасибо за объяснение, также очень благодарен за понимание лучшего регулярного выражения – auto22

Смежные вопросы