Jak zrobić przekierowanie 301 (adres z www i bez www)

Rejestrując domenę rejestrujemy adres twojadomena.pl, jednak domyślnie w internecie stosuje się adresy z www czyli www.twojadomena.pl i zawsze takie adresy tworzyłem. Warto jednak pamiętać o robieniu przekierowania witryny twojedomena.pl na www.twojadomena.pl w przeciwnym razie w Google będzie to widoczne jako 2 oddzielne witryny. Spotkałem się z pytania czy na twojadomena.pl, www.twojadomena.pl mogą istnieć 2 różne witryny. Oczywiście mogą jednak nie ma to żadnego sensu.

Warto zatem już na samym początku zadać sobie pytanie czy interesuje nas promowanie witryny z www czy też bez. Jeśli jednak wcześniej o tym nie pomyśleliśmy należy zrobić przekierowanie 301, dzięki któremu automatycznie internauta zostanie przekierowany z adresu A do adresu B. Naturalnie tyczy się to nie tylko przekierowań witryn z www czy bez, ale każdego przypadku w którym chcemy skierować ruch z jednej witryny na drugą.

Co w tym wszystkim najważniejsze cyt.: “… bardzo często wykorzystywane przez webmasterów i pozycjonerów ponieważ jest poprawnie interpretowane zarówno przez przeglądarki, jak i roboty wyszukiwarek internetowych takich jak Google.” (źródło eit-centrum.waw.pl)

Przekierowanie 301 na nowy adres
Jeśli serwer obsługuje plik .htaccess do katalogu głównego na serwerze należy wgrać taki plik z następującą zawartością:
RewriteEngine On
RewriteRule ^(.*)$ https://www.nowadomena.pl/$1 [R=301,L]

Przekierowanie z www na bez www
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} !^twojadomena.pl [NC] RewriteRule ^(.*)$ https://twojadomena.pl%{REQUEST_URI} [R=301,L]

Przekierowanie bez www na wersję z www
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} !^www.twojadomena.pl [NC] RewriteRule ^(.*)$ https://www.twojadomena.pl%{REQUEST_URI} [R=301,L]

W przypadku nie obsługiwania pliku .htaccess przez serwer można to zrobić też w php, html czy javascript jednak najlepsze i najmniej szkodliwe jest użycie pliku .htaccess

Więcej informacji na temat optymalizacji stron, dzięki której Twoja strona trafi do Top10 na wiele fraz kluczowych znajdziesz w moim szkoleniu “Opti Seo One”.

Jeśli ten artykuł pomógł Ci, masz co do niego jakieś wątpliwości lub pytania “Zostaw komentarz”, a na pewno na niego odpowiem.
VN:F [1.9.22_1171]
Rating: 4.6/5 (30 votes cast)
Jak zrobić przekierowanie 301 (adres z www i bez www), 4.6 out of 5 based on 30 ratings

o autorze

Sławomir Gdak

"Pomagam właścicielom małych i średnich firm w generowaniu ruchu z wyszukiwarek, aby ich biznes był stabilniejszy i bardziej dochodowy, za pomocą każdego rodzaju produktów i usług, jakie w danym momencie pozwalają mi ten cel realizować najlepiej."

44 komentarze

napisz komentarz
  • cyt. Cezzy.pl: “Przekierowanie 301, inaczej permanentne, to stałe przekierowanie zarówno użytkowników, jak i robotów, na nowy adres. Powoduje, że dana domena zostanie wyindeksowana z wyszukiwarek, a cała jej moc, backlinki i PR przechodzi na nową domenę.”

  • a jak to zrobić w .hta jak mamy ustawione ladne linki w wordpress?
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteRule ^index.php$ – [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]
    </IfModule>
    kombinowalem z roznie i nie dziala

  • Dzięki za ten artykuł. Ja miałam taką sytuację:
    1. witryna podstawowa w domenie webfaces.pl
    2. blog na WordPressie w podkatalogu, czyli webfaces.pl/blog

    W WP przekierowania działało automatycznie, zgodnie z tym, co napisał wyżej Szymon. W domenie podstawowej o problemie zupełnie zapomniałam, przez co funkcjonowała ona zarówno z www jak i bez www. Skorzystałam więc z kodu, który podałeś w punkcie "Przekierowanie z www na bez www", wrzuciłam plik .htaccess na serwer i efekt był natychmiastowy.

    W tej chwili zarówno strona w domenie głównej jak i blog na WordPressie w podkatalogu działają zgodnie – bez www.

    Dzięki za ten artykuł. Jasno i rzeczowo, z gotowymi przykładami.

    P.S. Jak zrobiłeś, że do tego artykułu można subskrybować do wyboru: albo wszystkie komentarze albo tylko odpowiedzi do danego komentarza? Jakiś plugin? Jaki?

      • Dzięki za informację.

        Subskrybowałam sobie Twój kurs pozycjonowania. Bardzo mi się podoba, również fakt, że jest podzielony na części, które przychodzą na maila w odstępach czasowych. Taki kawał wiedzy, do przetrawienia na jeden raz, to byłby przesyt, a tak, na taką pojedynczą porcję zawsze znajdzie się czas i chęci do przestudiowania, a potem również do "ułożenia się w głowie" przed kolejną lekcją. Bardzo dobrze jest to zrobione. Wielki ukłon również i za to.

  • mam taki problem
    Mam stronę załóżmy domena.pl
    dlaczego muszę wpisywać www przed nazwą np http://www.domena.pl bo domena.pl przerzuca mnie na stronę dostawcy ??

    Dodawałem te skrypty co są na stronie podane i nic nie zadziałało tak jak powinno.
    Co jest nie tak ?

    Gdzie robie błąd?

    robiłem zmiany w .htaccess. W koncu zostawiłem go pustego a na stronie sa nadal dziwne rzeczy. Pomimo czyszczenia histori przegadania.
    Widze ze cos zupelnie siadło.

    Proszę o pomoc

  • Ha udało się przekierować po zmianie hostingu zmienił mi się adres na bez www, ale dzięki Twojemu blogowi dałem rade:)
    Dzięki i pozdrawiam

  • Podepne sie pod temat
    1. witryna podstawowa w domenie https://www.sluzenko.com
    2. blog na WordPressie w podkatalogu, https://sluzenko.com

    Chciałbym by blog działał jak obecnie bez przedrostka www (mam plik htaccess w katalogu bloga – działa prawidłowo), ale chciałbym by główna strona http://www.sluzenko.com działała z przedrostkiem. Obecnie strona główna działa z www i bez www. próbowałem wrzucić htaccess do głównego katalogu ale wtedy blog przestawał mi działać pokazując komunikat "błąd logowania".

  • A jak przekierować lub by pokazywało to samo a nie wywalało bląd 404

    np.

    z domena.pl/maszyny/
    na domena.pl/maszyny

    czyli bez slasha

    chodzi o to by zrobić albo by po "/" i bez "/" było to samo lub
    zmieniało z bez "/" na z "/"

  • Witam,
    mam prosty problem a nie mogę sobie z nim poradzić.
    Proszę o pomoc.
    Chciałbym zrobić przekierowanie 301 z adresu:
    domenaxyz.pl/pl/n/2
    na adres:
    domenaxyz.pl/nowy-tytul-strony
    Będę wdzięczny za podanie konkretnego wpisu do pliku .htaccess.
    Dziękuję.

    Trochę mnie wstyd ale siedzę już nad tym problemem dłuższy czas
    przewertowałem setki przykładów
    i dalej nie wiem jak działa RewriteRule (nie potrafię tego zrozumieć)
    próbuję:
    RewriteRule ^pl/n/2$ https://domenaxyz.pl/nowy-tytul-strony [R=302, L]
    ale nic z tego
    Jeszcze raz proszę o pomoc

  • Witam
    Zastosowalem przekierowanie Twoim sposobem, ale nie okazał się dobry.
    Tzn. ładnie przekierowuje strony z www na te bez www
    ale mam forum jako subdomena forum.mojadomena.pl
    przy próbie wejścia na forum automatycznie przekierowuje na mojadomena.pl
    Jest na to jakieś rozwiązanie?

  • To przekierowanie dobrze przekierowuje strony z www na te bez www
    Jednak jest pewien problem
    Jesli mam forum jako subdomena, czyli: forum.mojadomena.pl
    to po wejściu w to forum też przekierowuje na mojadomena.pl
    Jak rozwiazać taki przypadek?

  • Dzieki, nigdy sobie tego nie zapisuje na dysku tylko wpisuje w google i wchodze na Twoj blog 🙂

  • Witam, wykupiłem nową domenę i zrobiłem przekierowanie 301. Wszystko działa jak należy. Domena stara natychmiast przekierowuje na nową. Jeśli ktoś byłby jednak uprzejmy odpowiedzieć mi na pytanie:

    Czy muszę usuwać stare pliki strony? Czy w ogóle to robić czy stare pliku muszą już na zawsze istnieć i muszę przedłuzac dwie domeny?

    Czy wuszukiwarka google zastąpi w wynikach wyszukiwania starą domenę na nową?

  • Witam!
    Dzięki za szczegółowy opis przekierowania. Mimo tak dokładnych wyjaśnień i przykładów nie działa mi przekierowanie z fottech.com.pl na http://www.fottech.com.pl (Strona jako taka się wyświetla, ale nie pojawia sie w FF przedrostek www.
    Kod w moim pliku .htaccess wygląda tak:

    RewriteEngine On
    RewriteBase /
    RewriteCond %{HTTP_HOST} ! http://www.fottech.com.pl [NC]
    RewriteRule ^(.*)$ https://www.fottech.com.pl%{REQUEST_URI} [R=301,L]

    Plik umieszczam w katalogu głownym serwera, tam gdzie index.html, Plik .htaccess mam również w katalogu cgi-bin i też go zapisałem w ten sposób.

  • Udało się 😉 Nie wiedziałem nawet, że przekierowanie na worpressie jest tak banalnie proste.

  • Panie Sławku….otóż…już któryś raz Pański blog ratuje mi d…. No wiadomo co mi ratuje. Dzięki jak nie wiem co!!! 🙂

  • Ok, musze to spróbować, mam zainstalowane WordPress, i teraz jest stara strona ciągle na www, aby znaleźć nowa strona to bez www.

  • Cześć, ja mam dalej problem, nowy serwis zbudowany na WP i stary. Ze starego chę przekierować wypozycjonowane strony. Gdzie utworzyć plik z kodem np:
    <?php
    header('HTTP/1.1 301 Moved Permanently');
    header('Location: https://www.example.org/&#039;);
    header('Connection: close');
    exit();
    ?>
    W osobnym dokumencie .php i wgrać do Kat. Nowej Strony WP czy do Kat. Starej Strony?

    Bardzo dziękuję za wskazówkę, czytam już parę godzin i przepisów jest wiele natomiast nadal nie doczytałam gdzie ten kod wkleić na nową czy starą stronę Mam obydwie na serwerze.

    Adesy mi się pozmieniały 🙂 siłą rzeczy 🙂

  • Posiadam stronkę na płatnym hostingu jednak z darmową domeną w republice.pl
    Chciałem domenę przekierować z bez www na z www jednak plik .htaccess nie działa. Próbowałem już wszystkich chyba kombinacji. Jak myślicie jest w ogóle sposób aby przekierować darmową domenę ?

  • Trafiam na ten artykuł co jakiś czas, gdy muszę komuś pomóc w zrozumieniu działania przekierowania 301. Artykuł “stary ale jary”.

  • jak przekierować adres bez www na z www gdy plik .htaccess ma taką postać:

    # BEGIN WordPress

    RewriteEngine On
    RewriteBase /
    RewriteRule ^index\.php$ – [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]

    # END WordPress

    ?

    Z góry dzięki za pomoc

  • Witam, troszkę odświeżę zapytanie dotyczące poprawnego przekierowania przez .htaccess
    Dotyczy strony internetowej https://www.eintro.pl
    Czy ktoś znajdzie lepsze rozwiązanie niż poniżej? *(na niektórych przeglądarkach pokazuje błąd!)

    SetOutputFilter DEFLATE

    BrowserMatch ^Mozilla/4 gzip-only-text/html
    BrowserMatch ^Mozilla/4\.0[678] no-gzip
    BrowserMatch \bMSIE !no-gzip !gzip-only-text/html

    RewriteEngine on

    # Redirect to http://www.eintro.pl
    RewriteBase /
    RewriteCond %{HTTPS} off
    RewriteCond %{HTTP:X-Forwarded-Proto} !https
    RewriteCond %{HTTP_HOST} !^www\. [NC]
    RewriteRule .* https://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
    RewriteRule ^index\.html$ / [R=301,L]

    # Same for HTTPS:
    RewriteCond %{HTTPS} !=on
    #RewriteCond %{HTTPS} on
    RewriteCond %{HTTP:X-Forwarded-Proto} !https [NC]
    #RewriteCond %{HTTP_HOST} !^www\. [NC]
    RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
    #RewriteRule .* https://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

    # Compress text, html, javascript, css, xml
    AddOutputFilterByType DEFLATE text/plain
    AddOutputFilterByType DEFLATE text/html
    AddOutputFilterByType DEFLATE text/xml
    AddOutputFilterByType DEFLATE text/css
    AddOutputFilterByType DEFLATE application/xml
    AddOutputFilterByType DEFLATE application/xhtml+xml
    AddOutputFilterByType DEFLATE application/rss+xml
    AddOutputFilterByType DEFLATE application/javascript
    AddOutputFilterByType DEFLATE application/x-javascript

    # Ensure all directory URLs have a trailing slash
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_URI} !\/$
    RewriteCond %{REQUEST_URI} !\/[^\/]*\.[^\/]+$
    RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI}/ [L,R=301]
    RewriteRule ^([a-z0-9-_]+),([a-z0-9-_]+).html$ $1.php?id=$2 [L,NC,NS]
    # Same for HTTPS:
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_URI} !\/$
    RewriteCond %{REQUEST_URI} !\/[^\/]*\.[^\/]+$
    RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI}/ [L,R=301]

    # Redirect to another domain eintro.pl.
    RewriteCond %{HTTPS} off
    RewriteCond %{HTTP_HOST} !^(www\.)?eintro\.pl$ [NC]
    RewriteRule .* https://eintro.pl%{REQUEST_URI} [R=301,L]

    # Same for HTTPS:
    RewriteCond %{HTTPS} on
    RewriteCond %{HTTP_HOST} ^(www\.)?eintro.pl$
    RewriteRule ^(.*)$ https://www.eintro.pl/$1 [R=301,L]

    #RewriteCond %{HTTP_HOST} !^(www\.)?eintro\.pl$ [NC]
    #RewriteRule .* https://eintro.pl%{REQUEST_URI} [R=301,L]

    ErrorDocument 401 “STRONA ZABEZPIECZONA HASLEM”
    ErrorDocument 403 https://www.eintro.pl
    ErrorDocument 404 https://www.eintro.pl

    Header set cache-control: public
    ExpiresActive on
    ExpiresDefault “access plus 1 month”
    ExpiresByType text/html “access plus 1 hour”
    ExpiresByType application/rss+xml “access plus 1 hour”
    ExpiresByType image/png “access plus 1 month”
    ExpiresByType image/jpg “access plus 1 month”
    ExpiresByType image/jpeg “access plus 1 month”
    ExpiresByType video/ogg “access plus 1 month”
    ExpiresByType audio/ogg “access plus 1 month”
    ExpiresByType video/mp4 “access plus 1 month”
    ExpiresByType image/x-icon “access plus 1 year”
    ExpiresByType font/ttf “access plus 1 year”
    ExpiresByType image/svg+xml “access plus 1 year”

  • Pozostawienie adresu z www jak i bez www może w przyszłości spowodować komplikacje, google te dwa adresy traktuje jako osobne strony, powstaje duplikacja treści i możemy zapomnieć o dobrej pozycji w google 🙂

    Przekierowanie to numer jeden jeżeli chodzi o optymalizację strony dla wyszukiwarek. Każdemu polecam to zrobić – powyższy artykuł w tym pomoże.

  • Nie mogę znaleźć błedu w tym co robie, teoretycznie ustawiam przekierowanie 301 tak aby było przekierowanie z jednej domeny na drugą, ale wyskokuje błąd. Nie moge tego ogarnąć :((((

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

Wyrażam zgodę na przetwarzanie danych osobowych przez firmę GDAQ.PL Multimedia Sławomir Gdak. Zgoda może zostać anulowana w dowolnym momencie. Szczegółowe informacje dotyczące danych osobowych są umieszczone na stronie polityki prywatności.

Wszelkie prawa zastrzeżone. Zabrania się wykorzystywania jakichkolwiek treści bez zgody autora.

Slawek Gdaq

Chcesz, żebym pomógł Ci zwiększyć pozycje, ruch i przychody z Twojej strony?

Sprawdź moją propozycję pozycjonowania.