Przekierowanie z domeny https na subdomenę https://www .htaccess

Więc tak, chciałbym dokonać przekierowanie tzn. chciałbym, żeby to wyglądało tak:

-Gdy ktoś wpisuje w pole przeglądarki:

“example com”, “www.example.com” lub “https://example.com

przekierowuje daną osobę na “https://www.example.com”.

Czyli tak naprawdę tak jak to działa na np youtube.

Próbowałem sam, ale doszedłem, ale brakuje mi tego ostatniego: gdy ktoś wchodzi na “https://example.com” to przekierowuje na “https://www.example.com

// w .htaccess

Proszę o pomoc, z góry dziękuję.

ps. Umieściłem wszystkie adresy w cudzysłowiach, bo jako nowy user nie mogę wstawiać więcej linków niż 2

Nie lepiej zrobić rekord cname?

Możesz mi wyjaśnić, jak? :stuck_out_tongue:

CNAME (Canonical Name Record) - służy do tworzenia aliasów danej domeny.

Nie o to mi chodzi…
Mi chodzi o przekierowanie każdego żądania na https://www.example.com, ale tak aby także adres został zmieniony

Nie rozumiem dokładnie o co ci chodzi, ale domyślam się że chyba o to że jak wchodzisz na jakąś strone to wrzuca cię na inny adres?

<meta http-equiv="refresh" content="1; url=http://luxdev.pl" /> 

tam gdzie jest luxdev.pl wpisz adres, jeśli oczywiście o to ci chodziło.

@luxDev

Nie zupełnie,

Więc tak, np na youtube, facebook itp,

masz coś takiego, że nie ważne co wpiszesz np. wpisujesz “https://youtube.com” to i tak cie przekieruje na “https://www.youtube.com”,

Takie same coś chcę osiągnąć u siebie na stronie, ale nie wiem jakie dokładnie wpisy dać w .htaccess.

Do tej pory, udało mi się, gdy wpisuje “example.com” przenosi mnie na “https://www.example.com”,
gdy wpisuje “www.example.com” przenosi mnie na “https://www.example.com”, ale gdy wpiszę “https://example.com” to już nie przenosi mnie na “https://www.example.com” tylko zostaje na “https://example.com

Generalnie polecałbym ominąć www. bo to trochę staromodne jak dla mnie :smiley:
Zakładając że chcesz aby adres był zawsze https://example.com i uniknąć używania .htaccess możesz użyć PHP.
Zanim to zrobisz, dodaj w DA www.example.com jako domenę.

Przekierowanie będziesz musiał wrzucić łącznie w trzech miejscach.
Da się krócej ale ten sposób sądzę będzie bardziej klarowny i łatwiejszy do skumania a także da Ci przejrzyste logi kto jak wchodził na twoją stronę :wink:

W DA w zarządzaniu domenami włączasz zarówno dla example.com jak i www.example.com opcję Użyj katalogu o nazwie private_html co rozdzieli nam katalogi do http i https.

Wrzucasz taki plik:

index.php

<?php 
header("HTTP/1.1 301 Moved Permanently"); 
header("Location: https://example.com"); 
?>

do:

  • public_html oraz private_html
    w domenie www.example.com

  • public_html
    w domenie example.com

Wszystkie pliki strony trzymasz wtedy tylko i wyłącznie w private_html na example.com i tam już nie potrzebujesz tego przekierowania.

Od razu ostrzegam że czasami efekt może nie być widoczny ze względu na cache w przeglądarce.
Warto wtedy pracować w trybie prywatnym/incognito przeglądarki w celu sprawdzenia.
Jeśli i to nie pomaga to zamknąć taką sesję przeglądarki i uruchomić okno z incognito ponownie, definitywnie powinno pokazać aktualną wersję. Jest to kwestia agresywnego cache stron z kodem 301 przez przeglądarki. Nie raz się na tym złapałem że straciłem godziny na poprawianie konfiga a wszystko było okej, po prostu cache w przeglądarce był stary :smiley:

“Nie można utworzyć tej domeny”

Czy może mam utworzyć subdomenę?

Nie wiem czy to wtedy tak zadziała ale możesz spróbować.
Jeśli komunikat błędu jest bardziej opisowy to wklej, pomoże to w diagnozie.

Nie można utworzyć tej domeny

Szczegóły

Podana domena już istnieje

@refresh

1 polubienie

I na co to piszesz, ja na odp czekam już półtora tygodnia (nie tylko tutaj zadałem pytanie), a ty wchodzisz i piszesz coś co nie ma żadnego związku z moim pytaniem…

@SystemZ

Czy dostanę w końcu odp na moje pytanie, już jakieś 2 tyg czekam, a jest mi to potrzebne…

<?php
if ($_SERVER['HTTP_HOST'] !== 'www.example.com') {
    header("Location: http://www.example.com");
}
?>

Do index.php

Teraz gdy wchodzę na www.example.com nie przekierowuje na https://www.example.com, wszystko inne działa

RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.example.com/$1 [R,L]

.htaccess

1 polubienie

Dobra, index.php włożyłem do private_html i wszystko śmiga, dzięki za pomoc