Skocz do zawartości
Artix

Przekierowanie bez uwzględniania katalogów

Polecane posty

Potrzebuję zrobić przekierowanie z domeny domena1.pl na domena2.pl, ale tak, by sub.domena1.pl oraz domena1.pl/sub nie przenosiły na sub.domena2.pl / domena2.pl/sub. Majstrowałem coś w htaccess ale nie działa, za każdym razem przenosi mnie na inną domenę. Jakieś pomysły?

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Pokaż jak to robisz.

Póki co wisi u mnie standardowy wpis, próbując reszty posiłkowałem się tym co jest w poradniku na home.pl https://pomoc.home.pl/baza-wiedzy/przekierowanie-301-w-pliku-htaccess/

RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www\.)?domena-przekierowywana\.pl [NC]
RewriteRule (.*) http://domena-docelowa.pl/$1 [R=301,L]

I w sumie nie wiem co dalej mam z tym zrobić żeby było tak, jak chcę.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
RewriteEngine On
RewriteCond %{HTTP_HOST} ^domena-przekierowana\.pl$ [OR]
RewriteCond %{HTTP_HOST} ^www\.domena-przekierowana\.pl$
RewriteRule ^/?$ "http\:\/\/domena-docelowa\.pl" [R=302,L]

Powinno działać o ile zrozumiałem pierwszy post :P

Edytowano przez SiXwishlist (zobacz historię edycji)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
RewriteEngine On
RewriteCond %{HTTP_HOST} ^domena-przekierowana\.pl$ [OR]
RewriteCond %{HTTP_HOST} ^www\.domena-przekierowana\.pl$
RewriteRule ^/?$ "http\:\/\/domena-docelowa\.pl" [R=302,L]

Powinno działać o ile zrozumiałem pierwszy post :P

 

Chodzi mi konkretnie o to:

domena1.pl => domena2.pl

www.domena1.pl => domena2.pl

sub.domena1.pl => BRAK PRZEKIEROWANIA

domena1.pl/sub => BRAK PRZEKIEROWANIA

 

To co mi podesłałeś wywala, że strona generuje zbyt wiele przekierowań, więc to chyba nie to. :/

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Czyli tylko strona główna domena1.pl/ ma przekierowywać?

 

RewriteEngine on
RewriteBase /
RewriteCond %{HTTP_HOST} ^(www\.)?domena1\.pl$
RewriteCond %{REQUEST_URI} ^/$
RewriteRule .* http://domena2.pl/ [R=301,L]
# R=301 lub R=302 - według Twoich potrzeb, sam wybierasz

 

Czy może więcej adresów ma przekierowywać? Również takie jak np. domena1.pl/index.php, domena1.pl/page2.html, domena1.pl/style.css, domena1.pl/favicon.ico, a z wyłączeniem niektórych (lub wszystkich) folderów? Jeśli tak, to albo trzeba dokładniej opisać wszystkie te adresy, które mają przekierowywać (trzeba je znać), albo wszystkie foldery, które mają być wykluczone z przekierowania - zależnie czego mniej, co łatwiej.

 

Jeśli wykluczanych folderów nie ma wiele (np. 3-4), to zawsze można też umieścić w każdym z nich po pliku .htaccess zawierającym jedynie:

 

RewriteEngine on

 

  • Upvote 1

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Czyli tylko strona główna domena1.pl/ ma przekierowywać?

RewriteEngine on
RewriteBase /
RewriteCond %{HTTP_HOST} ^(www\.)?domena1\.pl$
RewriteCond %{REQUEST_URI} ^/$
RewriteRule .* http://domena2.pl/ [R=301,L]
# R=301 lub R=302 - według Twoich potrzeb, sam wybierasz

Czy może więcej adresów ma przekierowywać? Również takie jak np. domena1.pl/index.php, domena1.pl/page2.html, domena1.pl/style.css, domena1.pl/favicon.ico, a z wyłączeniem niektórych (lub wszystkich) folderów? Jeśli tak, to albo trzeba dokładniej opisać wszystkie te adresy, które mają przekierowywać (trzeba je znać), albo wszystkie foldery, które mają być wykluczone z przekierowania - zależnie czego mniej, co łatwiej.

 

Jeśli wykluczanych folderów nie ma wiele (np. 3-4), to zawsze można też umieścić w każdym z nich po pliku .htaccess zawierającym jedynie:

RewriteEngine on

Tak, chcę żeby przekierowywała sama strona, bo plików tam nie ma i nie będzie. Znalazłem też w necie sposób na przekierowanie - meta z http-equiv refresh (bodajże tak się to pisało), ustalam docelowy adres i czas w sekundach po jakim czasie ma przekierować internautę. W porównaniu do htaccess ma to jakiś wpływ na, nie wiem, pozycjonowanie, generowanie obciążenia przez domenę czy cokolwiek?

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Jeśli tylko strona główna "/", to mój powyższy kod powinien działać.

Możesz też pokusić się o uwzględnienie "/index.php" (lub .htm/.html):

RewriteCond %{REQUEST_URI} ^/(index\.php)?$


Identyczny skutek da Ci wrzucenie w index.php kodu:

<?php header($_SERVER['SERVER_PROTOCOL'] . ' 301 Moved Permanently'); // albo 302 według potrzeb
      header('Location: http://domena2.pl/'); ?>


Co do użycia HTML meta refresh:

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

to oczywiście dla praktycznie każdej przeglądarki to zadziała. Przydatne to jest, gdy chcesz, aby odwiedzający dowiedzieli się o przekierowaniu, ustawiasz wtedy np. 5 sekund i dajesz napis "stronę przeniesiono, za chwilę zostaniesz przekierowany". Ale NIE jest to w pełni równoznaczne z prawdziwym kodem HTTP 301, osobiście ekspertem od pozycjonowania i SEO nie jestem, ale raczej bym to odradzał, jeśli celem jest permanentne zastąpienie jednej strony drugą w wyszukiwarkach.

Edytowano przez Piotr GRD (zobacz historię edycji)
  • Upvote 1

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Dobra, dzięki wielkie za pomoc. Przekopywałem internet i nigdzie nie widziałem czegoś, co by mój problem rozwiązało, a jak już znalazłem to było źle napisane. :)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Bądź aktywny! Zaloguj się lub utwórz konto

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto

Zarejestruj nowe konto, to proste!

Zarejestruj nowe konto

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się


×