Am căutat multe articole pe internet, dar nu a putut merge.
Probabil pentru că aceasta este o cerință ciudată. Aș fi surprins dacă ați găsi vreun cod pe care l-ați putea pur și simplu să copiați/lipiți care face acest lucru.
Cu toate acestea, presupunând că construiți adresa URL absolută corectă pentru toate link-urile dvs. interne (din moment ce nu trebuie să vă conectați intern la o adresă URL care redirecționează), atunci acest lucru este relativ trivial de implementat în .htaccess
dacă înțelegeți directivele existente.
RewriteCond %{HTTP_HOST} ^www\.example\.com [NC]
RewriteRule ^(.*)$ https://example.com/$1 [L,R=301]
Regex .*
în RewriteRule
model chibrituri Tot. Mai exact, se potrivește cu 0 sau mai multe din orice caracter, așa cum este indicat de *
cuantificator. Se potrivește cu calea URL goală (adică „pagina de pornire”) și cu fiecare cale URL nevide (adică orice altceva).
Trebuie să modificați expresia regex de mai sus, astfel încât să se potrivească cu o cale URL negoală (adică totul, cu excepția paginii de pornire). Și creați o altă regulă (în cealaltă direcție) care se potrivește numai cu o cale URL goală.
(Acest lucru folosește faptul că mod_dir servește index.php
pentru cererile către pagina de pornire, nu directivele mod_rewrite care urmează.)
Pentru a potrivi unul sau mai multe (adică cale URL nevide), puteți utiliza +
(plus) cuantificator, în loc de *
(stea/asterisc).
De exemplu:
# Redirecționează totul, cu excepția paginii de pornire (de la www la non-www)
RewriteCond %{HTTP_HOST} ^www\.example\.com [NC]
RewriteRule ^(.+)$ https://example.com/$1 [L,R=301]
# Redirecționează numai pagina de pornire (de la non-www la www)
RewriteCond %{HTTP_HOST} ^example\.com [NC]
RewriteRule ^$ https://www.example.com/ [L,R=301]
Va trebui să ștergeți memoria cache a browserului înainte de testare, deoarece redirecționarea anterioară 301 (permanentă) care a redirecționat pagina de pornire de la www la non-www va fi memorată în cache de browser.
Testați mai întâi cu redirecționări 302 (temporare) pentru a evita potențialele probleme de cache.