Keď som nastavil svoju subdoménu, vytvoril som niekoľko odkazovnesprávne. Teraz si Google myslí, že mám nejaké stránky v mojej subdoméne aj v koreňovej doméne. Musím to napraviť, ale nemôžem presmerovať celú subdoménu.
Príklady toho, čo chcem:
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/*
Skúsil som niekoľko riešení htaccess a som blízko, ale dokážem to zistiť. Tu je to, čo som vyskúšal:
Pokus č. 1 - Správne presmeruje, ale nefunguje ako riešenie, pretože presmeruje všetko zo subdomény
RewriteCond %{HTTP_HOST} ^sub.example.com [NC]
RewriteRule ^(.*)$ https://example.com/$1 [L,R=301,NE]
Pokus č. 2 - Nepresmeruje nič - Zdá sa, že je to správne riešenie, ale chýba mi niečo o tom, ako presmerovania fungujú, myslím ...
RewriteCond %{HTTP_HOST} ^sub.example.com/move-1/ [NC]
RewriteRule ^(.*)$ https://example.com/move-1/$1 [L,R=301,NE]
Pokus č. 3 - Nepresmeruje nič
RewriteCond %{HTTP_HOST} ^sub.example.com/move-1/(.*)$ [NC]
RewriteRule https://example.com/move-1/$1 [L,R=301,NE]
Pokus č. 4 - Nepresmeruje nič
RewriteBase /
RewriteRule ^sub.example.com/move-1/(.*)$ https://example.com/move-1/$1 [R=301]
Môj súbor .htaccess je v koreňovom priečinku html koreňovej domény a zdá sa, že má kontrolu. Skúsil som ich aj z koreňového priečinka subdomény, ale nič to nepresmerovalo.
odpovede:
1 pre odpoveď č. 1RewriteCond %{HTTP_HOST} ^sub.example.com$
RewriteRule ^move(.*) https://example.com/move$1 [R=301,L]
%{HTTP_HOST}
je názov hostiteľa mapovaný na doménu, napr sub.example.com
alebo example.com
, Neobsahuje žiadne path
časť, ktorá nasleduje za doménou. $1
je spätný odkaz, mapovaný na časť regexu (.*)
, RewriteRule
povie, či vzor adresy URL požiadavky začína /move
, potom presmerujte na https://example.com/move$1
natrvalo.