#apache #.htaccess #redirect #mod-rewrite #url-rewriting
Вопрос:
Я пытаюсь перенаправить запросы для нашего старого блога на новый URL-адрес в поддомене. Старый URL-адрес выглядит так
https://www.website.com/blog-name/post/slug-of-the-title
и его нужно перенаправить на
https://stage.website.com/blog-name/slug-of-the-title
Я использую это правило в своем .htaccess
RedirectMatch ^/blog-name/post/(.*)$ https://stage.website.com/blog-name/$1
И я перенаправляюсь на правильную страницу, но в конце моих URL-адресов есть дополнительные сегменты. Нравится
https://stage.website.com/blog-name/slug-of-the-title/?/blog-name/post/slug-of-the-title
Что я делаю не так?
Ответ №1:
С вашими показанными образцами, не могли бы вы, пожалуйста, попробовать следовать. Пожалуйста, очистите кэш вашего браузера перед тестированием ваших URL-адресов. Убедитесь, что вы храните эти правила в верхней части файла правил .htaccess(на случай, если в файле .htaccess есть еще какие-либо правила).
RewriteEngine ON
RewriteCond %{HTTP_HOST} ^(?:www.)?website.com$ [NC]
RewriteRule ^blog-name/post/(.*)/?$ https://stage.website.com/blog-name/$1? [NC,R=301,L]
Комментарии:
1. Это работает, но это определенно должно быть выше других моих правил. Огромное спасибо @RavinderSingh13!