Когато създадох поддомейна си, създадох няколко връзкинеправилно. Сега Google смята, че имам няколко страници както в моя поддомейн, така и в моя корен домейн. Трябва да поправя това, но не мога да пренасочвам целия поддомейн.
Примери за това, което искам да направя:
https://sub.example.com/ (no redirect)
https://sub.example.com/keep-1 (no redirect)
https://sub.example.com/keep-2 (no redirect)
https://sub.example.com/move-1/* => https://example.com/move-1/*
https://sub.example.com/move-2/* => https://example.com/move-2/*
Опитах редица решения с .htaccess и аз се приближавам, но не мога да разбера. Ето какво съм опитал:
Опит # 1 - Правилно пренасочва, но не работи като решение, защото пренасочва всичко от поддомейна
RewriteCond %{HTTP_HOST} ^sub.example.com [NC]
RewriteRule ^(.*)$ https://example.com/$1 [L,R=301,NE]
Опит № 2 - Не пренасочва нищо - Изглежда като правилното решение, но ми липсва нещо за това как пренасочва работа, мисля ...
RewriteCond %{HTTP_HOST} ^sub.example.com/move-1/ [NC]
RewriteRule ^(.*)$ https://example.com/move-1/$1 [L,R=301,NE]
Опит № 3 - Не пренасочва нищо
RewriteCond %{HTTP_HOST} ^sub.example.com/move-1/(.*)$ [NC]
RewriteRule https://example.com/move-1/$1 [L,R=301,NE]
Опит № 4 - Не се пренасочва нищо
RewriteBase /
RewriteRule ^sub.example.com/move-1/(.*)$ https://example.com/move-1/$1 [R=301]
Моят .htaccess файл е в коренната html директория на коренния домейн и изглежда има контрол. Опитах ги и от основната папка на поддомейна, но това не е насочило нищо.
Отговори:
1 за отговор № 1RewriteCond %{HTTP_HOST} ^sub.example.com$
RewriteRule ^move(.*) https://example.com/move$1 [R=301,L]
%{HTTP_HOST}
е името на хоста, преобразувано в домейн като sub.example.com
или example.com
, Той не съдържа никакви path
част, която следва зад домейна. $1
е обратна справка, пренесена в частта за регекс (.*)
, Най- RewriteRule
казва дали образецът на заявки uri започва с /move
, след което пренасочвате към https://example.com/move$1
постоянно.