Deoarece serverul de web Apache este cel mai frecvent, toate șabloanele enumerate în acest articol se aplică în mod direct la el - și anume, ar trebui să fie prescrise în fișierul .htaccess rădăcină. Înainte de a utiliza redirecționările șablonului 301, asigurați-vă că modulul mod_rewrite (fișier httpd.conf) este conectat în Apache.
Pentru a utiliza redirecționarea 301, mai întâi sunt scrise primele linii ale fișierului .htaccess cu directivele necesare pentru modulul mod_rewrite:
Opțiuni + FollowSymLinks
RewriteEngine activată
RewriteBase /
Luați în considerare regulile tipice de redirecționare.
Sau o versiune simplificată:
Sau o versiune simplificată alternativă:
De asemenea, trebuie remarcat faptul că, uneori, regulile sunt de lucru, chiar dacă punctele nu sunt protejate cu un backslash, dar nu-l abuzeze, pe unele servere acest lucru ar putea duce la o eroare.
Îmbinarea paginii de index din rădăcina site-ului
Acest tip de redirecționări cauzează adesea probleme dacă folosiți un CMS care redirecționează toate solicitările către site către pagina index. Adăugarea unei directive la fișierul .htaccess va duce apoi la un ciclu de redirecționări infinite. Cea mai ușoară cale de ieșire din situație este de a insera o mică bucată de cod la începutul paginii index (de exemplu, index.php):
antet ("Locație: /", TRUE, 301);
ieșire ();
Aceeași redirecționare poate fi utilizată și pentru alte extensii ale paginii principale, cum ar fi index.html sau, de exemplu, index.phtml.
Redirecționați din subdomeniu la subfolder
Redirecționarea de la subdomeniul la subdomeniul
Dacă trebuie să inversați, redirecționați un utilizator dintr-un subfolder către un subdomeniu, utilizați următorul șablon:
Redirecționați de la o extensie de fișier la altul
RewriteRule ^ (. *) \. Html $ $ 1.php [R = 301, L]
Redirecționați către un alt site
Crearea unui site nou, este necesar să o facem oglinda primară, redirecționând utilizatorii de la vechiul domeniu la cel nou. Pentru a face acest lucru, puteți utiliza șablonul de mai jos.
Toate paginile vechiului domeniu vor fi redirecționate către paginile corespunzătoare ale celui nou.
301 Redirecționarea paginilor dinamice
Redirecționează domeniile chirilic și .rf
Toate regulile de mai sus sunt valabile pentru domenii scrise pe chirilic. Cu toate acestea, atunci când se creează redirecționări, domeniile chirilic ar trebui înlocuite cu așa numitul Punycode. Pentru a face acest lucru, puteți utiliza unul dintre serviciile de conversie online WhiteWhois.
Denumirea de domeniu codificată rezultată poate fi ușor utilizată pentru orice șablon de redirecționare 301 descris mai sus.
Cum a ajuns Yandex la URL-ul fără un slash? Nu știu. Script-ul site-ului generează în mod regulat toate URL-urile cu o slash la sfârșit. Link-uri pe care le cumpăr, de asemenea, întotdeauna cu o slash. Probabil că erau niște biciuri naturale fără o tăietură. Dar acum nu este vorba despre asta.
Întrebarea este cum să efectuați 301 redirecționări din pagini fără o tăietură lată pe paginile cu o tăietură la capăt. Atribuirea manuală a unei redirecționări la fiecare pagină nu este o opțiune. Prea multe pagini, iar numărul acestora va crește. Se pare că trebuie să îmbunătățiți cumva regulile mod_rewrite, dar nu am suficiente cunoștințe pentru acest lucru. Poate cineva să-mi spună ce se poate face?
Cred că acesta este genul de sintaxă de răsucire
RewriteCond% /firma.php?id=$ HTTP / RewriteRule ^ firma.php? Id = catalog $ / produs ([0-9] +). HTML [R = 301, L]
Adevărul este că nu funcționează, dar nu am suficiente cunoștințe pentru a face - Înțeleg că în zona «articol ([0-9] +) html» Trebuie să fie o variabilă care indică ID-ul dorit, dar unde și cum ...
Spuneți-mi cum să efectuați o redirecționare pentru pagini dinamice, de exemplu:
site.com.ua?p=flowers -> site.ua?p=flowers
Bine ai venit!
Prompt, ca in.htaccess pentru a stabili o redirecționare de la pagini vechi la noi:
cu /site.ru/old.html pe sait.ru/direktoriya/new.php
Și o altă întrebare: când pot șterge pagini vechi? După instalarea redirecționării sau după reindexarea celor noi?
Bună ziua, am o problemă acolo este un site totul a fost bun în indexul în Yandex, toate paginile au fost fără o slash, și nebilo duplicat pagini.
Bună, Vitaly.
La mine, astfel de problemka-eu modific toate site-ul dinamice, structura aproape nu se schimba (unele pagini noi cu blocuri sunt adăugate, deoarece am folosi include) - adică. Schimba toate paginile existente de la html la php.
Am înțeles pentru mine într-un file.htaccess este necesar să se interpună numai acest cod? -
Opțiuni + FollowSymLinks
RewriteBase / RewriteRule
^ (. *). html $ $ 1.php [R = 301, L]
Sau mai este ceva ce trebuie făcut?
Cum de a face un astfel de 301?
vă mulțumesc pentru ajutor
Bună ziua, spune-mi, vă rog să faceți o redirecționare de pe o pagină de tip
/ listings / doma / pe pagina / filtrs / t-doma /