Перенаправить старый домен на новый домен с той же структурой URL-адресов

I am trying to redirect URLs at my old WordPress domain to the same URL structure but at my new domain.

So for example:

  • oldsite.com/post-name-1 would redirect to newsite.com/post-name-1

  • oldsite.com/post-name-2 would redirect to newsite.com/post-name-2 ... and so on.

I have tried adding the following to the .htaccess file under my old domain:

RewriteRule ^/(.*)$ https://newsite.com/$1 [R=301,L]

What rule do I need to write into my .htaccess file to achieve this?

2
задан 6 February 2018 в 12:31
2 ответа
Redirect 301 / https://newsite.com/

См. Документацию по Перенаправление . Есть тенденция использовать mod_rewrite для всего в Apache, потому что он так много делает, но это один из тех хороших случаев, когда простое Redirect выполняет свою работу.

1
ответ дан 3 December 2019 в 11:26
 RewriteRule ^ / (. *) $ Https://newsite.com/$1 [R = 301, L]
 

Это никогда не будет работать в контексте файла для каталога .htaccess из-за префикса косой черты в шаблоне RewriteRule . В контексте каталога (или .htaccess ) префикс каталога (который, в частности, заканчивается косой чертой) сначала удаляется из URL-пути до того, как происходит сопоставление с шаблоном, поэтому сопоставленный URL -path никогда не начинается с косой черты . В нынешнем виде эта директива предназначена для использования в контексте сервера или виртуального хоста .

В .htaccess вам необходимо удалить префикс косой черты (или сделайте это необязательным):

RewriteRule ^(.*)$ https://newsite.com/$1 [R=301,L]

Однако предоставление oldsite.com и newsite.com в настоящее время указывает на разные хосты, а директивы WordPress .htaccess имеют был удален с oldsite.com , то вам следует реализовать безусловное перенаправление , как предлагает @AndrewSchulman.

1
ответ дан 3 December 2019 в 11:26

Теги

Похожие вопросы