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

Zombie
www
koveek
koveek

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

Fallen
Fallen Pionier

Nie lepiej zrobić rekord cname?

koveek
koveek

Możesz mi wyjaśnić, jak? 😛

Fallen
Fallen Pionier

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

https://i.imgur.com/CJ00rbu.png

koveek
koveek

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

luxDev
luxDev Pionier

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?

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

koveek
koveek

@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"

SystemZ
SystemZ Admin lvlup.pro

Generalnie polecałbym ominąć www. bo to trochę staromodne jak dla mnie :D 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ę ;)

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

 

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 :D

koveek
koveek

"Nie można utworzyć tej domeny"

Czy może mam utworzyć subdomenę?

SystemZ
SystemZ Admin lvlup.pro

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.

koveek
koveek

Nie można utworzyć tej domeny

Szczegóły

Podana domena już istnieje

koveek
koveek

@refresh

Nieznajomy11
Nieznajomy11 Moderator forum.lvlup.pro
koveek
koveek

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...

koveek
koveek

@SystemZ

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

Nieznajomy11
Nieznajomy11 Moderator forum.lvlup.pro

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

Do index.php

koveek
koveek

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

Nieznajomy11
Nieznajomy11 Moderator forum.lvlup.pro

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

.htaccess

koveek
koveek

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