Как я могу перенаправить со старого домена на новый каталог с указанием c выдержек? - PullRequest
0 голосов
/ 11 июля 2020

Я изменил домен wordpress и хотел бы перенаправить только страницы E C. (Домены являются примером.)

・Old Domain -> https://old-domain.com
・New Domain -> https://new-domain.com

Я хочу перенаправить все страницы со старых на новые, кроме этих страниц.

・shop
・product
・cart
・checkout

И я записал их в свой файл htaccess.

▼ Старый домен (хочу перенаправить только каталоги магазина, продукта, корзины, кассы на Новый домен.)

RewriteEngine on
RewriteBase /
RewriteRule ^shop(.*)$ https://new-domain.com/shop$1 [R=301,L]
RewriteRule ^product(.*)$ https://new-domain.com/product$1 [R=301,L]
RewriteRule ^cart(.*)$ https://new-domain.com/cart$1 [R=301,L]
RewriteRule ^checkout(.*)$ https://new-domain.com/checkout$1 [R=301,L]

▼ Новый домен (хочу перенаправить все страницы в Старый домен, выдержка каталоги магазина, продукта, корзины, кассы.)

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} !^/shop/$
RewriteCond %{REQUEST_URI} !^/product/$
RewriteCond %{REQUEST_URI} !^/cart/$
RewriteCond %{REQUEST_URI} !^/checkout/$
RewriteRule (.*) https://old-domain.com [R=301,L]

Оба они не работают. Кажется, что через мгновение выполняется правильное перенаправление, но сразу же возвращается к https://new-domain.com. Пожалуйста, помогите мне решить эту проблему.

1 Ответ

0 голосов
/ 12 июля 2020

Я только что решил сам! Выше приведены правильные ответы, которые я написал для файлов httaccess.

▼ old-domain.com

RewriteEngine on
RewriteBase /
RewriteRule ^shop(.*)$ https://new-domain.com/shop$1 [R=301,L]
RewriteRule ^product(.*)$ https://new-domain.com/product$1 [R=301,L]
RewriteRule ^cart(.*)$ https://new-domain.com/cart$1 [R=301,L]
RewriteRule ^checkout(.*)$ https://new-domain.com/checkout$1 [R=301,L]

▼ new-domain.com

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} !(^/shop/)
RewriteCond %{REQUEST_URI} !(^/product/)
RewriteCond %{REQUEST_URI} !(^/cart/)
RewriteCond %{REQUEST_URI} !(^/checkout/)
RewriteCond %{REQUEST_URI} !(^/checkout/order-received/)
RewriteRule ^$ https://old-domain.com/ [R=301,L]
...