logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Jak przekierować stronę główną na podkatalog XYZ bez opóźnień?

boreka 11 Maj 2010 14:32 19070 19
REKLAMA
  • #1 8062565
    boreka
    Poziom 10  
    Posty: 23
    Ocena: 5
    Witam, przeglądałem już różne posty ale nie mogłem znaleźć odpowiedzi na moje pytanie. Mianowicie zastanawiam się w jaki sposób można zrobić by strona po wpisaniu adresu głównego np www.xxxx.pl wyświetliła mi zawartość strony która znajduję się powiedzmy w podkatalogu XYZ na tym serwerze. Czyli aby wyświetlić tą stronę muszę wpisywać www.xxxx.pl/xyz/ i dopiero otwiera mi się strona. Przekierowanie z wykorzystaniem index.** znajdującym się w głównym katalogu serwera sprawia iż strona otwiera się z opóźnieniem (najpierw wyświetla pustą stronę index.html a dopiero po kilku sekundach ładuję daną stronę. W indexie znajduję się miedzy innymi :
    <meta http-equiv="refresh" content="0; url=/xyz/main.php"> i pomimo wartośći
    content="0 strona "zamula" przy przekierowywaniu.
    Wykorzystanie aliasu z wykorzystaniem adresu głównego strony np www.xxxx.pl chyba nie wchodzi w grę ( poprostu nie wiem czy można zrobić alias z głównej adresu url strony głównej).
    Proszę o pomoc i ponawiam pytanie :
    w jaki sposób można zrobić by strona po wpisaniu adresu głównego np www.xxxx.pl wyświetliła mi zawartość strony która znajduję się- powiedzmy w podkatalogu XYZ na tym serwerze.
    ps. Strona www.xxxx.pl została wykorzystana czysto teoretycznie jako przykład.
  • REKLAMA
  • Pomocny post
    #2 8062610
    Doktorsky
    Poziom 18  
    Posty: 268
    Pomógł: 29
    Ocena: 8
    To przekierowanie jest już mało przyjazne wyszukiwarce google.
    Najlepiej użyj do tego przekierowania 301.
    Potrzebny będzie do tego plik .htaccess - dokładnie taki z kropeczką z przodu.
    W pliku tym umieszczasz taki kod:
    
    RewriteEngine on
    RewriteCond %{HTTP_HOST} ^www.adres.pl(.*) [NC]
    RewriteRule ^(.*)$ http://www.adres.pl/xyz/$1 [R=301,L]



    Oczywiście zmień adres i nazwę katalogu w kodzie.
    Plik wgrywasz na serwer do katalogu głównego.
  • REKLAMA
  • #3 8062637
    boreka
    Poziom 10  
    Posty: 23
    Ocena: 5
    Czyli ten plik .htaccess mam wrzucić do głównego katalogu tak? a jaka musi byc nazwa tego pliku - htaccess ?
    czyli jak strona główna jest np main.php to nie muszę nic zmieniać tylko wpisać poprawną ścieżkę do strony tak ? i jeszczę pytanie
    www.adres.pl(.*) - czy coś muszę wstawić w miejsce (.*) ?
    www.adres.pl/xyz/$1 - czy coś muszę wstawić w miejsce $1 ? Dziękuje z góry za pomoc.
  • #4 8062726
    Doktorsky
    Poziom 18  
    Posty: 268
    Pomógł: 29
    Ocena: 8
    .htaccess
    Ten plik się właśnie tak się nazywa - .htaccess - bez żadnych innych rozszerzeń!

    Plik umieszczasz w tym katalogu na który wskazuje domena.

    Teraz jak wpiszesz www.adres.pl to wyświetli się strona www.adres.pl/xyz/

    Nie zmieniaj nic oprócz tego co poprosiłem.
  • REKLAMA
  • #5 8582151
    krawiec2002
    Poziom 11  
    Posty: 73
    Ocena: 35
    Witam
    Ja też mam podobny problem.
    Tylko że chcę przekierować stronę www.starastrona.neostrada.pl na nowastrona.pl

    Na serwerze neostrady nie ma pliku .htaccess
    Po jego wrzuceniu na serwer nic się nie dzieje.
    Plik .htaccess zrobiłem według przykładu wyżej tylko bez dodatkowego katalogu.
    Strona i podstrony są zrobione html ( strona główna index.html)

    Znalazłem tylko taki wpis i to działa
    <meta http-equiv="refresh" content="0; url=http://www.nowastrona.pl/">
    ale to nie jest przekierowanie 301
    Pozdrawiam
  • REKLAMA
  • #6 8582694
    Doktorsky
    Poziom 18  
    Posty: 268
    Pomógł: 29
    Ocena: 8
    Wrzuć tutaj zawartość twojego pliku .htaccess
  • #7 8585594
    krawiec2002
    Poziom 11  
    Posty: 73
    Ocena: 35
    RewriteEngine on
    RewriteCond %{HTTP_HOST} ^www.sklep-patrysia.neostrada.pl(.*) [NC]
    RewriteRule ^(.*)$ http://sklep-patrysia.pl/$1 [R=301,L]
  • #8 8585725
    Doktorsky
    Poziom 18  
    Posty: 268
    Pomógł: 29
    Ocena: 8
    Sprawdziłem, że jest to serwer Apach....
    Gdzie umieściłeś ten plik? Musi być w katalogu na który wskazuje domena - stara.
    Pliki z nową stroną mogą być w innym katalogu, na który wskazuje nowa domena.
    Albo spróbuj jeszcze tak:

    RewriteEngine On
    RewriteRule ^(.*)$ http://www.nazwanowejstrony.pl/$1  [R=301,L]


    Ten kod umieszczasz w katalogu starej domeny, a nowa strona jest w innym katalogu.
    CZYLI:
    ZAWARTOŚĆ SERWERA:
    folder starej strony -> stara domena -> .htaccess (przekierowanie na...)
    folder nowej strony -> nowa domena

    I jeszcze jedno, czy dobrze utworzyłeś nazwę pliku?
  • #9 8588322
    krawiec2002
    Poziom 11  
    Posty: 73
    Ocena: 35
    Dzięki ten wpis działa czyli odpowiedzi na twoje pytania są twierdzące.
    Dla potomnych plik .htaccess tworzy się na przykład w notatniku zapisując bez rozszerzenia txt

    Ale mam jeszcze jedno pytanie:
    jak przekierować podstrony
    http://www.starastrona.pl/katalog1.html
    na
    http://nowastrona.pl
  • #10 8589102
    scrabypl
    Poziom 25  
    Posty: 779
    Pomógł: 80
    Ocena: 14
    Wyrażenia regularne...
  • #11 8589221
    Doktorsky
    Poziom 18  
    Posty: 268
    Pomógł: 29
    Ocena: 8
    Podany kod przekierowuje CAŁY ruch ze starej domeny na nową- włącznie ze stroną katalog1.html
  • #12 8589442
    krawiec2002
    Poziom 11  
    Posty: 73
    Ocena: 35
    I tu jest problem bo u mnie po tym wpisie przekierowuje tylko stronę główną
    Może podam jak miałem to zbudowane:
    w głównym katalogu serwera znajduje się plik index.html
    oraz
    kontakt.html i inne, na stronie index.html są odnośniki do pozostałych stron
    taka amatorska konstrukcja.
    I tych pozostałych stron ten wpis nie przekierowuje.
  • #13 8589644
    Konto nie istnieje
    Poziom 1  
  • #14 8590313
    Doktorsky
    Poziom 18  
    Posty: 268
    Pomógł: 29
    Ocena: 8
    Spróbuj tak:

    RewriteEngine On
    RewriteRule ^(.*)$ http://www.nazwanowejstrony.pl/$1  [R=301,L]
    RewriteRule ^(index.html|kontakt.html|newsletter.html|costam.html|costam.html|cos.html)$ http://www.nowastrona.pl/ [R=301,L]


    Usuń zawartość pliku .htaccess, który utworzyłeś wcześniej i wklej to, co wpisałem.
    Zmień oczywiście nazwy stron i dopisz wszystkie z poziomu głównego. U mnie działa...
  • #15 8592203
    krawiec2002
    Poziom 11  
    Posty: 73
    Ocena: 35
    To chyba jednak nie jest serwer Apach
    Sprawdziłem nowy wpis i nie działa a po usunięciu zawartości strony index.html i zostawieniu jej prawie pustej poprzedni wpis też już nie działa.
    Wniosek
    Neostrada nie jest serwerem Apach i nie przyjmuje przekierowania 301
    Dzięki za pomoc
    PS
    Jak ma ktoś jeszcze jakiś pomysł to proszę.
  • #16 8592484
    scrabypl
    Poziom 25  
    Posty: 779
    Pomógł: 80
    Ocena: 14
    Kod: PHP
    Zaloguj się, aby zobaczyć kod

    Sprawdzisz, czy to serwer apache ;)
  • #17 8592904
    krawiec2002
    Poziom 11  
    Posty: 73
    Ocena: 35
    A coś więcej na ten temat ???
    Tu pytania zadają amatorzy więc proszę o szczegóły.
    Gdzie to wkleić co z tym zrobić jakie mają być efekty ???
  • #18 8593237
    Doktorsky
    Poziom 18  
    Posty: 268
    Pomógł: 29
    Ocena: 8
    Link

    Kto Tobie kazał usuwać coś z pliku index.html?

    Coś mi się wydaje, że robisz gdzieś błąd.
    Może spakuj ten plik .htaccess i dołącz go w załączniku?
  • #19 8595777
    krawiec2002
    Poziom 11  
    Posty: 73
    Ocena: 35
    Ok załączyłem plik .htaccess

    Ale myślę że przekierowanie załatwia ten wpis na stronie:
    <meta http-equiv="refresh" content="0; url=http://sklep-patrysia.pl/">

    Albo działa z takim opóźnieniem że ja już nie wiem czy to działa czy nie.
    no teraz działa i to na wszystkich podstronach.
    Chyba tak zostawię.
    Pozycjonowanie i tak już zrobiło swoje neo na 1 miejscu nowa strona już na 4

    Pozdrawiam ALL
    Załączniki:
    • htaccess.rar (197 Bajtów) Musisz być zalogowany, aby pobrać ten załącznik.
  • #20 8596500
    Doktorsky
    Poziom 18  
    Posty: 268
    Pomógł: 29
    Ocena: 8
    Plik wygląda w porządku, nie rozumiem dlaczego u ciebie nie działa - taki sam mam na swoim serwerze i jest wszystko ok.
    Możesz spróbować przekierowania za pomocą php:

    Kod: PHP
    Zaloguj się, aby zobaczyć kod


    lub:

    Kod: PHP
    Zaloguj się, aby zobaczyć kod


    Ten kod umieszczasz w pliku index.php

    To przekierowanie w meta tagach nie jest dobrym rozwiązaniem, a strona .neostrada.pl niedługo zniknie z wyszukiwarki.

Podsumowanie tematu

✨ Użytkownik poszukiwał sposobu na przekierowanie głównej strony internetowej (np. www.xxxx.pl) na podkatalog XYZ bez opóźnień. Wskazano, że najlepszym rozwiązaniem jest użycie pliku .htaccess z odpowiednim kodem przekierowania 301. Użytkownik powinien umieścić plik .htaccess w głównym katalogu serwera, a w nim zastosować reguły RewriteEngine oraz RewriteRule, aby przekierować ruch na podkatalog. W przypadku problemów z serwerem Neostrada, który nie obsługuje .htaccess, zaproponowano alternatywne metody przekierowania, w tym użycie PHP do realizacji przekierowania 301. Użytkownicy dzielili się również doświadczeniami związanymi z przekierowaniami oraz problemami z ich implementacją.
Wygenerowane przez model językowy.
REKLAMA