Przekierowanie 301
22 kwietnia 2008
Zdaję sobie sprawę, że informacje o przekierowaniu 301 to nic nowego. Ale nadal niektórzy szukają odpowiedzi na pytanie "Co to jest?" więc zamieszczam krótką ściągawkę.
"Przekierowanie 301: Moved Permanently" przydaje się do pozycjonowania stron Internetowych. Służy ono do przekierowania z jednego adresu na drugi. Niby nic nadzwyczajnego ale... To konkretne przekierowanie ma pewne zalety. Otóż przenosi ono "siłę" jednego adresu na drugi. Czyli przekazywany jest PageRank adresu, jego pozycja w wyszukiwarkach na wybrane frazy itd.
Do czego nam się to może przydać? Opiszę najpopularniejsze zastosowanie.
Otóż przyjęło się, że przed adresem strony Internetowej stawiamy przedrostek "www". Tak naprawdę jednak nie jest on nam do niczego potrzebny. W efekcie jego zastosowania nasza strona istnieje pod dwoma adresami np. tarnaski.eu i www.tarnaski.eu. Ale tylko od woli administratora zależy czy po wpisaniu obu tych adresów wyświetli się ta sama strona czy będą to dwie, całkowicie różne witryny. Z tego powodu google, chcąc niechcąc, musi traktować adresy z przedrostkiem "www" i bez niego jako dwa różne adresy. W konsekwencji siła naszej domeny jest podzielona na dwie części.
Żeby uporządkować sytuację korzysta się z przekierowania 301. Najpierw trzeba zdecydować, który adres chcemy pozycjonować. Teoretycznie nie ma większej różnicy.
Z jednej strony niektórzy nawołują do bojkotu przedrostka "www" bo to przeżytek od którego powinno się odchodzić.
Z drugiej strony podawanie "www" przed adresem jest już bardzo mocno zakorzenione i wiele przypadkowych linków do naszych stron, które ludzie umieszczają na swoich stronach, blogach itp. jest właśnie w postaci www.tarnaski.eu. No i niestety niektóre katalogi stron oraz systemy wymiany linków wymagają przedrostka.
Ale wybór należy do Ciebie
Ja osobiście ostatnio pozycjonuję domeny z przedrostkiem ale chociażby osada.pl pozycjonowałem bez przedrostka i nie robiło mi to różnicy. Niech każdy sam zdecyduje.
Jak dokonać przekierowania? Najprościej wsadzić odpowiednią regułkę do pliku .htaccess.
Przekierowanie z "bez www" na "www":
-
RewriteEngine On
-
RewriteCond %{HTTP_HOST} ^tarnaski.eu(.*) [NC]
-
RewriteRule ^(.*)$ http://www.tarnaski.eu/$1 [R=301,L]
Przekierowanie z "www" na "bez www":
-
RewriteEngine On
-
RewriteCond %{HTTP_HOST} ^www.tarnaski.eu(.*) [NC]
-
RewriteRule ^(.*)$ http://tarnaski.eu/$1 [R=301,L]
Oczywiście trzeba wstawić adres swojej strony zamiast "tarnaski.eu".
Ale to nie jedyne zastosowanie przekierowania 301. W końcu możemy przekierowywać z dowolnego adresu na drugi dowolny adres, wcale nie muszą one być w tej samej domenie. A więc przekierowanie to idealnie nadaje się gdy zmieniamy adres naszej strony. Wystarczy zrobić 301 z jednej domeny na drugą. Poniższe przekierowanie przekieruje wszystko na nowy adres:
-
RewriteEngine On
-
RewriteRule ^(.*)$ http://www.tarnaski.eu/$1 [R=301,L]
Bywa też tak, że zmieniamy na swojej stronie adresowanie. Linki, które kiedyś kierowały do konkretnych podstron i są już zaindeksowane w wyszukiwarkach nagle zaczynają zwracać błąd 404. Wtedy także jak najbardziej zaleca się zastosować przekierowanie 301 i przekierować stare adresy na nowe. Oto takie przykładowe przekierowanie, działa ono na nasztomaszow.pl:
-
RewriteEngine On
-
RewriteRule ^kanaly-rss/?$ /kanaly-informacyjne/ [R=301,L]
Wcześniej podstrona była nazwana "Kanały RSS" z racji tego, że były tam tylko odnośniki i informacje o RSS. Jednak z czasem dodałem również kanały Atom i należało zmienić adres. Teraz po wejściu na pierwszy adres zostajemy automatycznie przekierowani na drugi.
Zwróćcie uwagę również na to co się dzieje gdy wejdziecie na taki adres: nasztomaszow.pl/kanaly-rss/. Nie tylko zmieni się adres z "kanaly-rss" na "kanaly-informacyjne" ale również zostanie dodany przedrostek "www" zgodnie z tym co pisałem wcześniej.
W plikach .htaccess możemy używać wyrażeń regularnych. Jest to czasami bardzo pomocne a nawet konieczne.
Znowu posłużę się przykładem z nasztomaszow.pl. W pewnym momencie postanowiłem przenieść wszystkie zdjęcia do artykułów z jednego katalogu do drugiego. Jednak zdjęć jest setki a nawet tysiące, nie sposób dla każdego wpisać przekierowania do .htaccess. Zrobiłem więc tak:
-
RewriteEngine On
-
RewriteRule ^zdjecia/newsy/duze/([0-9]{1,}).jpg$ dane/strony/duze/$1.jpg [R=301,L]
I gotowe. Nazwy plików to liczby więc przekierowanie było proste. Od tej chwili stare adresy przestają być aktualne ale jeżeli ktoś jeszcze natrafi na stronę gdzie będzie podany stary adres do zdjęcia to wyświetli mu się ono ponieważ zadziała przekierowanie.
Na koniec dodam, że wcale nie musimy korzystać z dobrodziejstw Apacha (czyli z .htaccess). Z przekierowaniem można sobie poradzić w dowolnym języku programowania, chociażby w PHP.
Przekierowanie z "bez www" na "www":
Przekierowanie z "www" na "bez www":
Przekierowanie na nowy adres:
I to tyle
Mam nadzieję, że rozjaśniłem niektórym sytuację i będziecie powszechnie stosować przekierowanie 301 ponieważ daje ono wymierne korzyści. Zachęcam również do zapoznania się z możliwościami jakie drzemią w poleceniach zapisywanych w .htaccess
PS
No tak... Ale możesz przecież nie wiedzieć co to .htaccess
Jest to zwykły plik tekstowy. Zapisujesz w nim odpowiednie polecenia, nadajesz plikowi nazwę ".htaccess" i wgrywasz na serwer. Komendy te będą działać dla katalogu w którym jest plik oraz dla katalogów dalej zagłębionych. Przy przekierowaniu 301 przeważnie .htaccess umieszczamy w tym katalogu w którym jest plik index. O .htaccess można znaleźć sporo informacji w Internecie. Ja szczególnie polecam zapoznać się z modułem mod_rewrite, który ma ogromne możliwości i to głównie z niego będziecie korzystać przy pracy z .htaccess.
Na koniec dodam, że komendę "RewriteEngine On" umieszczamy tylko raz w .htaccess. Zamieściłem ją w każdym z powyższych przykładów ponieważ jest wymagana jeżeli przykłady będą traktowane osobno. Ale nic nie stoi na przeszkodzie aby do jednego .htaccess wsadzić kilka, kilkanaście a nawet kilkadziesiąt przekierowań czy innych komend. Zalecam jednak w tym miejscu umiar, każda nowa reguła to więcej pracy dla Apacha.
Uwaga! (07.06.2008)
Dodałem jeszcze jedną krótką notkę na temat przekierowania 301 - link tutaj. Znajduje się tam wskazówka jakich reguł użyć jeżeli mamy dwie domeny kierujące na te same pliki i chcemy jedną przekierować na drugą.
Uwaga! (30.01.2009)
Jeżeli interesuje Cię przekierowanie w .htaccess z "bez www" na "z www" lub odwrotnie to nie pożałujesz jeżeli przeczytasz mój wpis na temat uniwersalnego przekierowania 301.
Blog przede wszystkim o Internecie i mojej pasji jaką jest tworzenie stron www. Ale nie ograniczam się do jednej tematyki, piszę o wszystkim o czym mam ochotę :-)
jelcz napisał: 13.08.08 o godzinie 18:14
Konkretnie i na temat,
wielkie dzięki, przydało się
Magda napisał: 18.08.08 o godzinie 15:29
ja również serdecznie dziekuję
Anonim napisał: 30.08.08 o godzinie 18:43
ZZ napisał: 02.10.08 o godzinie 15:34
Wielkie DZIEKI za ten artykuł i pomoc we wdrożeniu go w życie:) POZDRAWIAM!!
hmmm napisał: 04.10.08 o godzinie 19:43
a jak zrobic przekierowanie z
http://www.ezakopane.pl/szukaj.....pensjonaty
na
http://www.ezakopane.pl/szukaj.....pensjonaty
dzieki za pomoc
MariuszT napisał: 08.10.08 o godzinie 10:01
Przykro mi, kombinowałem na różne sposoby ale nic mi nie wyszło…. Trochę osób ma ten sam problem ale rozwiązania nie znalazłem. Może Ty będziesz miał więcej szczęścia http://www.google.pl/search?hl.....j&lr=
Jeżeli nie wyjdzie przez .htaccess to próbuj w PHP, tam będzie to banalne
Gość napisał: 31.10.08 o godzinie 17:23
też mi sie przydalo
Gość napisał: 31.10.08 o godzinie 17:30
jak przekierować stronę http://mbankkonto.blogspot.com na nowy adres http://bankkonto.blogspot.com? pozdrawiam
MariuszT napisał: 31.10.08 o godzinie 20:52
Nie przekierujesz stron umieszczonych na blogspot.com, nie ma tam takiej możliwości.
Krzysztof napisał: 02.11.08 o godzinie 21:53
Super artykuł,
widzę, że znasz temat. Mam problem z pewną domeną. Otóż, posiada ona filtr. Przed otrzymaniem filtra (zostałem przez google poinformowany, że został on nałożony, oraz zostały wymienione powoty).
Zapytanie:
Czy jak zrobię przekierowanie domeny, czy pozycje sprzed nałożenia filtra ze starej domeny zostaną przeniesione, na nową. Domena miała bardzo wysokie pozycje przez około rok czasu, ale przez moją głupotę dostała filtr.
Prosze o odpowiedź.
Krzysztof
MariuszT napisał: 02.11.08 o godzinie 22:05
Z tego co wiem to przekierowanie nie przenosi filtrów a więc istnieje szansa, że Twoja druga domena chociaż zbliży się do pozycji pierwszej domeny sprzed filtra. Ale pewności nie ma i nie słuchaj nikogo kto Ci powie, że „na pewno” będzie tak lub tak.
Krzysztof napisał: 03.11.08 o godzinie 0:27
Witam,
dzięki za info. Ma być to duży portal, więc też duże obawy. Szkoda stracić domenę. A przy okazji zapytam o coś takiego. Czy można zrobić kilka przekierowań na daną domenę? Załużmy mam domenę, na której chcę zbudować serwis o Londynie. I mam również inne domeny, w których nazwie są słowa Londyn, Anglia, Wielka Brytania. Są to domeny z PR2, 3, 4. Jaki będzie efekt, jeśli wykonam przekierowanie z tych 3 domen na nową (nie ma żadnej historii – jest zaledwie zaindeksowana). A domeny z których bym robił przekierowanie maja przynajmniej po 3 lata?
Pozdrawiam
Krzysztof
MariuszT napisał: 03.11.08 o godzinie 8:17
Można robić przekierowań ile się chce. Jednak efekt moim zdaniem będzie mizerny. Na Twoim miejscu postawiłbym pod tymi domenami niewielkie tematyczne strony, które będą linkowały do tego najważniejszego portalu. Takie zaplecze na pewno lepiej wpłynie na pozycję Twoich stron niż zwykłe przekierowania.
Fan11 napisał: 18.11.08 o godzinie 22:04
Jesteś GOŚĆ! Takiej konkretnej informacji potrzebowałem będę przekierowywał bez www na www.
Dzięki pozdro
Fan11 napisał: 18.11.08 o godzinie 23:37
Obawiam się, że u mnie to nie działało
. Dopiero jak zastosowałem poniższy kod strona wyświetla poprawnie
.
RewriteEngine On
Options FollowSymLinks
RewriteCond %{HTTP_HOST} ^szynszyla.waw.pl$
RewriteRule ^(.*)$ http://www.szynszyla.waw.pl/$1 [R=301,L]
MariuszT napisał: 18.11.08 o godzinie 23:48
Nie mam pojęcia co Ci nie działało ale ważne, że sobie poradziłeś
Fan11 napisał: 19.11.08 o godzinie 2:24
No faktycznie, też nie wiem sprawdzałem kilkanaście razy i jakieś krzaki były, teraz chciałem odtworzyć, żeby skopiować opis błędu i działa. Czary ? :[
Zwracam honor jesteś genialny !!
MariuszT napisał: 19.11.08 o godzinie 9:31
Hehe spokojnie z tą genialnością
Może po prostu podczas tamtej próby coś nie tak się wysłało na serwer lub były inne drobne problemy. To się zdarza. Najważniejsze, że działa. To jest dobry sposób bo przekierowywuje nie tylko stronę główną ale również wszystkie podstrony.
Fan11 napisał: 29.11.08 o godzinie 3:53
„Genialny człowieku”
mam nowy problem 
A jak zrobić w przypadku strony HTML jeżeli chcę żeby po naciśnięciu linka szynszyla.waw.pl/forum.html przekierowało mnie automatycznie na
forum.szynszyla.waw.pl/
MariuszT napisał: 29.11.08 o godzinie 11:56
Coś w ten deseń (nie testowałem):
RewriteRule ^forum.html?$ http://www.forum.szynszyla.waw.pl [R=301,L]
Fan11 napisał: 30.11.08 o godzinie 1:28
I co może nie jesteś genialny !! ? Jasne, że działa. Wielkie dzięki
szymon napisał: 01.12.08 o godzinie 11:19
Witam
mam pytanie: posiadam glowna domene aaa.pl i pod ta domena znajduje sie moja glowna strona ktora mnie interesuje. Dodatkowo mam wykupione 4 domeny (nazwa tematycznie nawiazuje do mojej glownej) i chcialbym sie dowiedziec jak korzystnie je wykorzystac dla mojej strony – czy mozna jakos wykorzystac fakt posiadania wielu domen? Czy jest to tylko zabieg wyprzedzajacy i blokujacy konkurencje i po wykupieniu lepiej nic z nimi nie robic?
MariuszT napisał: 01.12.08 o godzinie 11:48
Posiadanie wielu domen, samo w sobie, nie daje nam nic z punktu widzenia SEO. Dla wyszukiwarek liczy się jakość a nie ilość. Te domeny nie przedstawiają żadnej wartości dla google i innych, nie były pozycjonowane, nie mają żadnych linków przychodzących itd.
Ja bym radził zrobić kilka małych tematycznych stronek i zamieścić je pod tymi adresami, pamiętając o dobrym podlinkowaniu serwisu głównego. Następnie lekko je pozycjonuj.
Krzysztof napisał: 16.12.08 o godzinie 11:18
Witam, mam dwie strony tematyczne nawiązujące do miasta Londyn. Pierwsza ma z 5 lat, cały czas jest pozycjonowana, ma 5 subdomen. Jednak znalazłem inną domenę, która jest nowiutka, jednak lepsza. Serwis nie jest do końca skończony, i dlatego chcę oddawać go partiami.
Mam pytanie: czy mogę np. przekierowywać serwis partiami?, Tzn. np dzisiaj przekierowuję subdomenę ogłoszenia ze starego serwisu na nowy, potem za dwa miesiące kolejną subdomenę, np. wiadomości.
Ponadto, czy jak przekierowuję adresy, czy treści zawarte na starej subdomenie muszą pokrywać z treściami na nowej? Bo słyszałem, że tak musi być.
Proszę o odpowiedź.
Krzysztof
MariuszT napisał: 19.12.08 o godzinie 19:46
Możesz robić przekierowania tylko części serwisu. Nie powinno być z tym problemu. Część teraz, część za tydzień, kolejna część za miesiąc. Co prawda ja bym się mocno zastanowił czy w ogóle warto przenosić serwis pod nowy adres ale nie znam szczegółów
Każdy tu musi decydować sam.
Dobrze byłoby gdyby treści się pokrywały gdy robisz przekierowanie
Anonim napisał: 06.01.09 o godzinie 23:44
Pytanie od lamera: czy te skrypty PHP wrzuca sięw sekcji HEAD strony html czy w BODY?
Anonim napisał: 06.01.09 o godzinie 23:55
Eh, sorka, ok, już wiem, trzeba wkleić jeszcze przed znacznikiem HTML, pozdrawiam!
Jano napisał: 22.02.09 o godzinie 12:16
Witam
Nie mogę zrobić przekierowania. Wstawiam kod w .htaccess . Otrzymuję finalnie:
- w momencie wpisania rg-sklep.com.pl przekierowuje na http://www.rg-sklep.com.pl … ale jeśli nacisnę na jakiś odnośnik na mojej stronie nic się nie dzieje znowu zapętla do głównej… nie czaję klimatu i proszę o pomoc. Dzięki
Jano napisał: 22.02.09 o godzinie 12:18
Options +FollowSymLinks
RewriteEngine On
RewriteBase /
php_flag register_globals on
Czy jesli mam to w pliku .hatccess to mam to zmienić na powyższy kod aby mieć przekierowanie? proszę o pomoc
MariuszT napisał: 22.02.09 o godzinie 12:28
Nic nie zamieniaj, dodaj jedynie kod odpowiedzialny za interesujące Cię przekierowanie. Pamiętaj jedynie, że „RewriteEngine On” powinno występować w pliku .htaccess tylko raz zatem możesz z moich przykładów usunąć tą linijkę.
Jano napisał: 23.02.09 o godzinie 9:59
dzięki działa. wcześniej dodawałem i mi nie działało bo zapętlało tym
RewriteEngine On
Szymon napisał: 27.02.09 o godzinie 9:45
Czesc mam takie pytanie powiedzmy ze przechwytuje domene ktora ma wypracowany site i jak zrobic przekierowania ze starych odnosnikow na nowe moje zeby nie stracic tego situ ??
U Ciebie jest pokazane przekierowanie dla jednego kakretnego odnosnika a jak to zrobic dal powiedzmy kilku tyś ?? bo chyba nie kilka tysiecy lini w htaccess??
MariuszT napisał: 27.02.09 o godzinie 13:46
Wszystko jest napisane w tym wpisie lub ewentualnie w dwóch pozostałych wpisach o przekierowaniu 301, które są podlinkowane na dole. Wystarczy uważnie przeczytać.
Jano napisał: 27.02.09 o godzinie 15:32
Cześć!
Jednak nie działa to jak powinno… nie wiem o co chodzi. W oscommerce wstawiam to. Po dodaniu kodu zawiecha złapała dodawanie, usuwanie i edycje produktów…
dokładnie to był błąd tego typu:
Warning: reset() [function.reset]: Passed variable is not an array or object in /home/rg-sklep/ftp/admin/includes/classes/object_info.php on line 17
Warning: Variable passed to each() is not an array or object in /home/rg-sklep/ftp/admin/includes/classes/object_info.php on line 18
Pisałem do NetArtu ale mowili że nie mają wpływu na przekierowania.
mój początek kodu w .htacces to:
Options +FollowSymLinks
RewriteEngine On
RewriteBase /
php_flag register_globals on
Bezpośrednio za tym dodaję kod który pokazałeś jako pierwszy, oczywiście nie dodaję RewriteEngine On bo już jest.
Pod tym kodem mam jeszcze trochę linijek tego typu:
RewriteRule ^(.*)-p-(.*).html$ product_info.php?products_id=$2&%{QUERY_STRING}
Proszę o pomoc ;(
argonek napisał: 01.03.09 o godzinie 10:43
elo mam takie pytanie posiadam stronkę nazwijmy ja http://www.costam.pl i mam dla niej zarezerwowane miejsce hostingowe teraz kupiłem nowa domenę i chce zeby zawartosc tej stronki byla wyswietlana na nowej domenie np nowastronka.pl, czyli po wpisani adresu http://www.nowastronka.pl wyswietlała sie stronka costam.pl
ps mam stronke na az.pl
MariuszT napisał: 01.03.09 o godzinie 22:12
To nie ma nic wspólnego z przekierowaniami. Sprawdź na swoim hostingu jak tam zaparkować nową domenę i ewentualnie przekierować na odpowiedni katalog. Aby potem uniknąć content duplicate radzę ze starej domeny zrobić przekierowanie 301 na nową.
Jano napisał: 12.03.09 o godzinie 13:03
Hej może mi ktoś podpowiedzieć do postu 3 wyżej? Dalej sobie z tym nie radzę…
po dodaniu kodu blokuje mi edycje i dodawanie produktow, nie bardzo mogę znaleźć odpowiedź w sieci.
Pozdrawiam
MariuszT napisał: 12.03.09 o godzinie 18:07
Przykro mi ale masz mocno zakręcony ten .htaccess, poza tym nie wiadomo jak sam skrypt jest zbudowany. Ciężko tak wywróżyć o co chodzi… A zagłębiać się w czyjeś skrypty nie bardzo mam czas.
Jacek napisał: 05.04.09 o godzinie 23:59
Bardzo przydatne ! Zobaczę czy coś pomoże w SEO !
Q napisał: 16.04.09 o godzinie 12:23
W .htaccess siła drzemie
Niestety też wiele osób korzysta z 301, przekierowując PR nie swojej domeny.. a potem sprzedaje linki na allegro. Nie dajcie się sprawdzajcie witryny pod kątem fakePR albo cache w googlu.
Bardzo dobry art
Bogdan napisał: 20.04.09 o godzinie 17:17
Świetny tekst, przydał mi się bardzo.
Mam jednak pytanie a propos przekierowań i .htaccess
Jest forum ustawione jako subdomena. W cPanel próbuję ustawić przekierowanie z strona.pl/forum na forum.strona.pl, ale nie działa. Chodzi o to, że forum jest dostępne pod dwoma (4) różnymi adresami i chciałbym to ujednolicić. Jak zrobić takie przekierowanie za pomocą pliku .htaccess?
Na innej stronie w DirectAdminie ustawiłem sobie przekierowanie takie jak powyżej napisałem i jest OK…
MariuszT napisał: 20.04.09 o godzinie 18:39
RewriteRule ^forum/?$ http://www.forum.strona.pl [R=301,L]
Nie sprawdzałem czy działa ale powinno być OK
Bogdan napisał: 02.05.09 o godzinie 21:15
Dzięki, ale z jakiegoś powodu nie działa…
MariuszT napisał: 03.05.09 o godzinie 16:01
Musisz sam kombinować, nie mogę niestety każdemu z osobna tworzyć regułek .htaccess, kosztowałoby mnie to zbyt dużo czasu.
Damian napisał: 15.05.09 o godzinie 0:24
Witam!
Mam takie pytanie jakie kod 301 filtrow moge zastosowac zeby moja pozycja starej strony przeszla na nowa ? I przekierowala automatycznie ..
Bo tan mi nie dziala w .htaccess:
_____________________________________________
RewriteEngine On
RewriteRule ^(.*)$ http://www.tarnaski.eu/$1 [R=301,L]
_____________________________________________|
Slicznie dziekuje!
MariuszT napisał: 15.05.09 o godzinie 10:31
Na temat przekierowań 301 napisałem chyba już wszystko co się da. Również wiele wskazówek znajdziesz w komentarzach. Naprawdę bardziej Ci pomóc nie mogę, przypadki w których coś z powyższych przykładów nie działa trzeba już rozpatrywać indywidualnie, sprawdzać konfigurację serwera itp.
seven napisał: 26.05.09 o godzinie 10:11
Witam.
Chciałbym zrobić przekierowanie z http://www.adres.pl/index.php na http://www.adres.pl. Próbuję z różnymi komendami, ale jakoś mi się nie udaje. Co dokładnie muszę wpisać w .htaccess ?
Na tego typu przekierowanie trzeba czekać czy od razu działa ?
seven napisał: 26.05.09 o godzinie 10:24
Już sobie poradziłem dzięki
RewriteCond %{HTTP_HOST} ^adres.pl$ [OR]
RewriteCond %{HTTP_HOST} ^www.adres.pl$
RewriteRule ^index\.php\/?(.*)$ „http\:\/\/www\.adres\.pl\/$1″ [R=301,L]
Ian napisał: 11.07.09 o godzinie 0:52
dzięki stary, pomogłeś bardzo.
przekierowanie 301 to świetna sprawa, szkoda, że wcześniej tego nie znałem.
pozdrawiam
Tłumacz napisał: 13.07.09 o godzinie 8:50
Super artykuł: wytłumaczone klarownie i dokładnie.
Dzięki
a4kadiusz napisał: 27.07.09 o godzinie 21:57
Dzięki za artykuł – pomógł.
czarnyleon napisał: 31.07.09 o godzinie 14:23
Jeśli ktoś potrzebowałby uniwersalnej reguły (nie wymagającej wpisywania adresu), przekierowującej na ‘bez www’ na’ z www’
to zamieszczam poniżej:
RewriteCond %{HTTP_HOST} !^www.(.*) [NC]
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}$1 [R=301,L]
MariuszT napisał: 31.07.09 o godzinie 22:51
Czytaj uważnie, pisałem o uniwersalnym przekierowaniu tutaj http://www.tarnaski.eu/blog/un.....wanie-301/
pin napisał: 15.08.09 o godzinie 14:37
Witam, a ja mecze sie z takim problemem.
Musze byc zalogowany na stronie jako admin i inny uzytkownik zeby sesje byly inne.
Wiec musze odpalac dwie rozne przegladarki bo na tych samych pamieta te same sesje.
Pomyslalem ze moze da sie jakos przekierowac z http://localhost/costam1 na http://localhost/costam2 z tym ze pood tym pierwszym liniem jest strona. Robie to jak w artykule ale cos nie dziala to przekierowanie.
MariuszT napisał: 15.08.09 o godzinie 23:26
Nie bardzo rozumiem po co Ci w Twoim przypadku przekierowanie… Pomijając to, w artykule wszystko jest jasno wytłumaczone i naprawdę ciężko mi powiedzieć czemu Ci przekierowanie nie działa.
kmg napisał: 18.08.09 o godzinie 22:41
PIN: wystarczy, że wyłączysz cookies, a wystarczy jedna przeglądarka
Jeśli wyłączysz ciacha, a mechanizmy sesji są prawidłowo wdrożone php zacznie przekazywać identyfikator sesji w inny sposób – przez _GET lub _POST.
Wtedy każda „zakładka” lub okno przeglądarki to osobna sesja.
Ehhh, coś ostatnio ludzie są mniej świadomi mechanizmów, które stosują… A to smutne.
kmg napisał: 18.08.09 o godzinie 22:43
Swoją drogą ciekawe – Uwaga! (30.01.2008) dodana 4 miesiace przed opublikowaniem bloga ;D
MariuszT napisał: 19.08.09 o godzinie 0:09
Poprawiłem
Bartosz napisał: 19.08.09 o godzinie 9:04
Panie autorze… proszę poprawić przykład http://www.nasztomaszow.pl/kanaly-rss/ bo nie do końca jest tak jak napisałeś. Przedrostek śmiga, ale nazwa podstrony już się nie zmienia.
A artykuł rzecz jasna pomocny i zrozumiale napisany.
Pzdr
MariuszT napisał: 19.08.09 o godzinie 16:05
Ostatnio zmieniałem całkowicie stronę http://www.nasztomaszow.pl i niestety chwilowo nie działają kanały RSS. Jak uporam się teraz z najważniejszymi sprawami to przywrócę wszystko do normy. Za jakieś dwa tygodnie
JereManU napisał: 23.08.09 o godzinie 16:57
Super, bardzo przydatny artykuł – często do niego powracam. Dzięki.
molibdenowy napisał: 11.09.09 o godzinie 17:29
Dzięki – konkret
js napisał: 13.09.09 o godzinie 9:30
Mam pytanie
powiedzmy, że chciałbym przekierować katalog lub poszczgólne pliki z jednej domeny na inną jak sie do tego zabrac
MariuszT napisał: 14.09.09 o godzinie 18:27
Poczytać to co zostało już wcześniej napisane… Reguły można łączyć, masz powyżej reguły dotyczące domen, masz reguły dotyczące katalogów, pomyśl, połącz je i zadziała.
jacek napisał: 23.10.09 o godzinie 9:18
cyt:”..Zwróćcie uwagę również na to co się dzieje gdy wejdziecie na taki adres: nasztomaszow.pl/kanaly-rss/. Nie tylko zmieni się adres z „kanaly-rss” na „kanaly-informacyjne” ale również zostanie dodany przedrostek „www” zgodnie z tym co pisałem wcześniej….”
Niestety nie działa.
I ja mam ten sam problem.
Stara strona ma inne linki w adresie.
nowa strona pod inną domeną ma również inne linki w adresie.
Próbując przekierowania podstrony na podstronę, zmienia mi w adresie domenę, ale dokleja starą część linka w związku z tym tak jak na przykładzie z cytatu otwiera mi się pusta strona.
dla przykładu przekierowanie strona.pl/cos –> strona.com/inne cos po otworzeniu daje: strona.com/cos i kicha.
Jak temu zarazić?
MariuszT napisał: 23.10.09 o godzinie 9:21
O „kanaly-rss” już pisałem, o wszystkim innym również. Przykro mi, nie mam zwyczaju się powtarzać, inaczej co tydzień odpowiadałbym na te same pytania. Proszę poczytać wszystkie artykuły na tym blogu o 301 i komentarze do nich w razie potrzeby.
Dociekliwy napisał: 02.11.09 o godzinie 18:13
Sorry, za moje pytanie (bo może trochę głupie :/ ) ale:
Mam wykupioną stronę : http://ABC.otomoto.pl/
i chcę kupić domenę na nazwa.pl „ABC.pl” (po prostu żeby ludziom było łatwiej zapamiętać adres)
Czy oprócz domeny na nazwa.pl muszę posiadać coś jeszcze czy da się tu zastosować to przekierowanie 301 żeby po wpisaniu http://www.ABC.pl otwierała się strona
http://ABC.otomoto.pl/
Bardzo mi zależy na łopatologicznym wyjaśnieniu sprawy.
Z góry dzięki i jeszcze raz przepraszam jeżeli uznasz, że moje pytanie jest zbyt głupie :/
MariuszT napisał: 02.11.09 o godzinie 19:23
Nie wiem jak to wygląda na nazwa.pl. Dla wykupionej domeny muszą być ustawione DNS’y. Niektórzy rejestratorzy pozwalają od razu ustawić dla nowej domeny ich DNS’y a potem samemu je skonfigurować, ustawić przekierowania itd.
Proponuję zarejestrować domenę na dropped.pl. Nie mają tam żadnych promocji więc za rejestrację zapłacisz 15zł ale potem odnowienia są najtańsze z możliwych i ogólnie masz wiele opcji konfiguracji. Jedną z nich jest ustawienie przekierowania. Łatwo, prosto i przyjemnie
Nawet nie będziesz potrzebował pomocy, sam szybko skapujesz co do czego.
PS
Nie podawaj publicznie adresu domeny, którą chcesz dopiero wykupić bo ktoś Cię ubiegnie. Dlatego zmieniłem adresy w Twoim komentarzu.
mika napisał: 10.11.09 o godzinie 21:06
A jak zrobić przekierowanie kilku domen na jedną?
np. przykładowe domeny http://www.domena1.pl i http://www.domena2.pl na http://www.nowadomena.pl?? Bo wszędzie są tylko przykłady z jedną domeną, a ja kombinuję i mi nie wychodzi ;|
MariuszT napisał: 21.11.09 o godzinie 14:42
Możesz mnożyć warunki za pomocą OR:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www\.)?domena1.pl(.*) [NC,OR]
RewriteCond %{HTTP_HOST} ^(www\.)?domena2.pl(.*) [NC]
RewriteRule ^(.*)$ http://www.nowadomena.pl/$1 [R=301,L]
mika napisał: 23.11.09 o godzinie 10:16
Dzięki serdeczne za pomoc!
Wszystko działa i śmiga jak należy
Pozdrawiam
Damian napisał: 23.11.09 o godzinie 11:55
Witam,
dzięki za pomoc. Artykuł bardzo pomocny, ale mam jeszcze pytanie.
Miałem strukturę typu:
domena.pl/strona1.php
domena.pl/strona2.php
domena.pl/strona3.php
domena.pl/strona4.php
teraz wygląda to tak:
domena.pl/index.php?page=strona1
domena.pl/index.php?page=strona2
domena.pl/index.php?page=strona3
domena.pl/index.php?page=strona4
Zrobiłem przekierowania za pomocą skryptu PHP z tego artykułu. W plikach strona1.php, strona2.php, … powstawiałem ten skrypt PHP i teraz się zastanawiam, czy te pliki można będzie usunąć z FTPa, czy mają tam zostać już na zawsze. Google zaindeksowało już nowe adresy, ale nie usunęło jeszcze wszystkich starych. Czy jak usunie stare adresy to wtedy można usunąć stare pliki (strona1.php, …) ?
Troszkę zmieniłem meta-tagi przy przekierowaniu na nową stronę i chyba przez to spadłem parę pozycji w google dla niektórych fraz.
Pozdrawiam,
Damian
MariuszT napisał: 23.11.09 o godzinie 13:27
Google zaindeksowało nowe adresy ale jeżeli są nadal w indeksie stare adresy to może oznaczać, że ich siła jeszcze nie została w pełni przekazana. Jeżeli to nie problem to proponowałbym jeszcze poczekać, potrzymać stare pliki aż całkowicie znikną z google. Gdy się to stanie to bez przeszkód możesz kasować stare pliki.
Damian napisał: 23.11.09 o godzinie 14:37
Oki, dzięki za poradę. W takim razie poczekam aż google je usunie z indeksu.
Pozdrawiam,
Damian
Hook napisał: 09.12.09 o godzinie 15:18
Witam,
Jak zrobic przekierowanie w htaccess jesli stary plik mam np spr.htm a chce zmienic na sprezarki.htm
spr.htm jest juz zaindeksowany i chcialbym aby ktos po kliknieciu np w google na spr.htm trafil na sprezarki.htm
To sa tylko przykladowe nazwy bo musze sporo pozmieniac adresow, ktore nie tworzyc zgodnie ze szkola SEO
MariuszT napisał: 09.12.09 o godzinie 15:27
Zadaj sobie trochę trudu i przeczytaj artykuł…
Hook napisał: 17.12.09 o godzinie 21:25
Jakbym to zrozumial to bym pytania nie zadawal. Ale oszczedz sobie trudu z odpowiedzia skoro to dla ciebie problem. Poprosze kogos innego o wytlumaczenie
MariuszT napisał: 17.12.09 o godzinie 22:32
Rozejrzyj się, pomogłem już dziesiątkom ludzi (nie tylko pod tym artykułem, są jeszcze dwa inne dotyczące 301) . Odpowiedziałem każdemu kto wykazał jakąś inicjatywę, przeczytał artykuły i natknął się na problem, którego jeszcze nie opisałem. Ale jeżeli ktoś zadaje pytanie na które odpowiedź znajduje się w artykule to wybacz ale nie mogę pomóc. Nie jestem od rozdawania gotowych rozwiązań. Musiałbym wtedy nic nie robić tylko cały dzień odpisywać na blogu na setki takich samych pytań.
Twój problem został rozwiązany w powyższym artykule w czwartym okienku z kodem. Jeżeli zmienionych adresów jest bardzo dużo i nie da się do nich stworzyć jakiejś uniwersalnej regułki (czyli dla każdego adresu trzeba przygotować osobne przekierowanie) to rozważyłbym rozwiązanie po stronie PHP zamiast htaccess. Nadmierna ilość przekierowań w htaccess wpłynie negatywnie na wydajność. Ile tych przekierowań będzie?
Makito napisał: 14.01.10 o godzinie 22:20
Witam.
Ja mam dalej problem.
Chcę przekierować w PHP-Fusion subdomenę na nowo zakupiona domenę:
subdomena.nazwa1.pl chcę przekierować na nazwa2.com
w Cpanelu ustawiałem różne kombinację ale nic nie pomogło. Może dobrze napisany htacces pomoże
Proszę o pomoc.
P.S.
Wszystkie powyższe wpisy nie zadziałały
Dominik napisał: 15.02.10 o godzinie 15:55
Witam.
Czytam cały dzień o przekierowaniach 301 ale ciągle mam problem.
Testowałem stronę opartą o wordpress na moim serwerze w podkatalogu http://www.mojserwer.pl/podkatalog/
Po jakimś czasie strona była gotowa i podpiąłem właściwą domenę http://www.wlasciwadomena.pl do tego samego katalogu na którym testowałem WP.
Niestety wyniknął z tego problem ponieważ za indeksowana jest strona http://www.mojserwer.pl/podkatalog a nie http://www.wlasciwadomena.pl.
Ustawiałem przekierowanie i doszedłem do prawie idelanego rozwiązania, działa z zaindeksowanymi stronami testowymi wywołując je site:mojserwer.pl/podkatalog/ i klikając przekierowywuje ruch
RewriteEngine On
redirectMatch 301 ^/podkatalog/ http://www.wlasciwadomena.pl
ale działa to tylko do strony głównej, każda podstrona nie jest wyświetlana.
Czy możesz mi pomóc ?
Pozdrawiam
MariuszT napisał: 15.02.10 o godzinie 21:05
Coś takiego:
^/podkatalog.*$ http://www.wlasciwadomena.pl
maxy napisał: 26.02.10 o godzinie 11:21
witam mam takie pytanko, chciałem zrobić przekierowanie z dwóch podstron na jedną nową w pliku htaccess jak powinien wyglądać kod ??
MariuszT napisał: 27.02.10 o godzinie 16:20
Wykorzystaj treść artykułu i tego komentarza http://www.tarnaski.eu/blog/pr.....mment-2917
Ewentualnie jeżeli nie dajesz sobie rady to zrób po prostu dwa przekierowania, osobno. Wszystko masz opisane powyżej.
mike1982 napisał: 05.03.10 o godzinie 14:48
Witajcie,
Do domeny głównej abc.pl z poziomu administratora serwera podłączyłem dwie inne domeny dodatkowe o adresach cdb.pl oraz bcd.pl. W skutek czego google zaczęło indeksować wiele z podstron domeny głównej pod nazwą tych dwóch pozostałych domen. Zaraz po tym jak dostrzegłem swój błąd usunąłem je z miejsca z domen dodatkowych. Czy jest możliwość aby te linki google które cały czas występują pod nazwami cdb.pl oraz bcd.pl, a które korzystały z podstron domeny głównej, ponownie można było podlinkować do określonych podstron tejże domeny? Obecnie jest wiele tysięcy moich linków w google fukncjonujących pod domenami dodatkowymi, które w rzeczyiwstości wpływają na obniżony PR domeny głównej. Same otrzymały dość przyzwoity PR jednak nie to było moim celem
Przekierowałem domeny dodatkowe na główną domenę jednak po kliknięciu w google, na dowolną zindeksowaną podstronę przechodzi do strony głównej.
Wiem, że tutaj zadziała przekierowanie 301 ale jak je wykonać?
Jakie powinno byc przekierowanie przy domenach dodatkowych oraz gdzie te wpisy htaccess się dokonuje przy domenach dodatkowych czy przy głównej? Domeny dodatkowe są umieszczone w parku domen na dropped.pl, jak tam mogę utworzyć ten plik? Doradzcie jak to zrobić!
pajaczek napisał: 06.03.10 o godzinie 21:58
stary post, a wciaz tak aktualny i przydatny. dzieki!
MariuszT napisał: 07.03.10 o godzinie 16:44
Mike, podepnij ponownie te dodatkowe domeny pod swoją stronę. Następnie na swoim serwerze ze stroną główną dodaj przekierowanie 301 tych domen na domenę główną. Ten kod powinien być dla Ciebie przydatny http://www.tarnaski.eu/blog/pr.....mment-2917
Pajaczek, dzięki za miłe słowa
mazur napisał: 11.03.10 o godzinie 10:47
Witam,
A może wiecie jak zrobić przyjazne URLe przy takiej konstrukcji linka http://www.domena.pl/ogloszeni.....index.html ? Chciałbym , aby link wyglądał tak http://www.domena.pl/ogloszenia/nazwa-wpisu/ .
Wielkie dzięki za wszelką pomoc?
MariuszT napisał: 11.03.10 o godzinie 10:56
Domyślam się, że takich adresów do zamiany jest więcej niż kilka dlatego potrzebna Ci interwencja programisty. W .htaccess trzeba zrobić ogólne przekierowanie i dopiero po stronie serwera sprawdzać adres i na jego podstawie wybierać do wyświetlenia odpowiednie ogłoszenie. Przy odrobinie sprytu da się nawet tak zrobić aby to rozwiązanie było wydajne i np. nie używało połączenia z bazą danych do sprawdzania o jakie ogłoszenie chodzi. Konkretnego rozwiązania Ci niestety nie podam, tu musi się już popisać programista. Tego typu linki zrobiłem chociażby do artykułów na http://www.nasztomaszow.pl
mazur napisał: 11.03.10 o godzinie 11:36
Tak dokładnie. Chciałbym ,aby dla wyszukiwania według głównych miast pojawiał się taki link http://www.domena.pl/ogloszenia/region/miasto/, dla kategorii i pod kategorii http://www.ogloszeniamazurskie.....ruchomosci.
obecnie w .htaccess mam tylko przekierowanie 301 z bez www na www. Czytałem gdzieś , że bez ingerencji w bazie nie da się tego zrobić? Chodzi o pobieranie tytułu wpisu z bazy. A jaki sposób ty wybrałeś ?
MariuszT napisał: 11.03.10 o godzinie 11:43
Mało rzeczy się nie da. Wystarczy lekka zabawa z .htaccess i zbudowanie cache z odpowiednią strukturą katalogów na serwerze i się da. Na nasztomaszow.pl można wyłączyć bazę danych a artykuły nadal będą działały.
mazur napisał: 11.03.10 o godzinie 11:51
Może podasz jakiś konkretny przykład ? Swoją drogą jest to dobry temat na kolejny wpis na blogu, bo na pewno nie tylko ja mam ten problem.
MariuszT napisał: 11.03.10 o godzinie 12:11
Konkretny przykład byłby właśnie rozmiarów kolejnego wpisu na blogu
Dzisiaj postaram się coś więcej na ten temat naskrobać ale nie obiecuję.
mazur napisał: 11.03.10 o godzinie 12:22
A jak jeszcze by się ci udało napisać o dynamicznych meta tagach (szczególnie title) to byłaby to rewelacja. Ciekaw jestem ile profesjonalny programista wziąłby za taką przeróbkę? Ach te cmsy!!
mazur napisał: 12.03.10 o godzinie 12:02
I co z tym wpisem??
JimJam napisał: 18.03.10 o godzinie 8:14
Witam serdecznie. Byłbym wdzięczny za pomoc w takim przypadku: z koniecznosci zmieniam system na którym działa strona. Siłą rzeczy zmienia się całkowicie konstrukcja linków podstron -z przykładowo z http://www.xxx/17,,,03,pl,697600,0.html na http://www.xxx/abc.html
Ponieważ stare podstrony stoją wysoko w google, nie chce tego stracić.
I teraz pytanie: zrobiłem testowe przekierowania kilku podstron za pomocą takiej linijki w.htaccess:
redirect 301 /17,,,03,pl,697600,0.html /abc.html
Przekierowania spełniają swoją funkcję – przenoszą na docelowe podstony. Nie jestem jednak pewien, czy faktycznie zachodzi tu przekierowanie 301 – jak to sprawdzić? I czy może jest inny albo prostszy sposób na rozwiązanie takiej kwestii niż ręczne wklepywanie przekierowań dla wszystkich podstron?
MariuszT napisał: 18.03.10 o godzinie 10:09
Informacja o przekierowaniu i jego typie znajduje się w wysyłanych przez stronę nagłówkach. Tu http://www.webconfs.com/http-header-check.php masz jakieś pierwsze lepsze narzędzie do sprawdzania nagłówków. Jeżeli jest 301 to powinno wypluć taki ciąg znaków „HTTP/1.0 301 Moved Permanently”.
Jeżeli nie ma jakiegoś jednego klucza, który odpowiadałby wszystkim przekierowaniom to trzeba je ustawić ręcznie. Albo w .htaccess albo, jeżeli jest ich wiele, z poziomu PHP czy innego języka server side.
JimJam napisał: 18.03.10 o godzinie 10:49
Dzięki wielkie za podpowiedź, sprawdziłem nagłówki i dla wszystkich przekierowywanych podstron wyrzuca HTTP/1.0 301 Moved Permanently oraz Location =>docelowy adres. Niestety nie ma klucza dla przekierowań, a że PHP nie ograniam za bardzo, to teraz tylko parowanie jakiś 300 linków przede mną…:)
MariuszT napisał: 18.03.10 o godzinie 11:13
300 to niebezpiecznie dużo. Może to negatywnie wpłynąć na wydajność serwera. Plik .htaccess musi być za każdym razem „obrobiony” przez Apache. Nie jest to robione tylko przy zapytaniach o stronę ale także o inne pliki (css, pliki graficzne itd.) czyli ruch jest bardzo duży. Ja bym tam nie wsadził trzystu przekierowań
JimJam napisał: 18.03.10 o godzinie 11:46
Niedobrze… jak rozwiązać taki problem? Zrobić większą selekcję linków? Jaką ilość przekierowań w .htacces uznałbyś za maksymalną?
MariuszT napisał: 18.03.10 o godzinie 12:15
Ja bym nie szedł na kompromisy i oprogramował to w PHP. Nikt Ci dokładnie nie policzy ile przekierowań zrobić żeby było przyzwoicie. Ja najwięcej robiłem 20, może 25.
JimJam napisał: 18.03.10 o godzinie 12:31
Rozumiem że powienienem użyć
No to teraz zadam pytanie laika
: gdzie ten kod po dostosowaniu wstawić?:))
Zapytam napisał: 18.03.10 o godzinie 13:38
Mam prośbę o podpowiedź w jaki sposób rozwiązać taki problem:
Gdy założyłem bloga przyjazne adresy kończyłem rozszerzeniem .html ale doszedłem do wniosku, że chyba lepiej będzie aby były jak najkrótsze więc teraz nie ma .html na końcu. Google zdążyło część starych zaindeksować i nie znajduje strony po otwarciu (przykład http://sanokinfo.pl/hokej-glosuj-na-sanok.html).
W jaki sposób hurtowo kierować wszystko co kończy się na .html na adres poprawny (bez końcówki)?
JimJam napisał: 18.03.10 o godzinie 15:52
zmotywowałem się, pogrzebałem i doszedłem już do momentu w którym .htacess przerzuca wszystkie zapytania na index.php. Pytanie – jakiej formułki php uzyć żeby „ręcznie” ustawić przekierowania konkretnych podstron z xyz.pl na abc.pl ? Do tej pory udaje mi się jedynie przekierować wszystko z xyz.pl na jedną stronę abc.pl…
MariuszT napisał: 18.03.10 o godzinie 17:01
@Zapytam
RewriteRule ^(.*)\.html$ /$1/ [R=301, L, QSA]
Nie testowałem.
@JimJam. Powinieneś pobawić się zawartością $_SERVER['REQUEST_URI']. Sprawdzać co tam jest i na tej podstawie decydować czy i na co przekierować.
Zapytam napisał: 19.03.10 o godzinie 14:40
Niestety dalej nie działa:( Ale dzięki za chęć pomocy.
lucas_yas napisał: 21.03.10 o godzinie 13:24
Zmieniam silnik witryny. Poprzednio pliki były wywoływane np. ?p=linki.php. W nowej witrynie prawidłowy adres wygląda linkownia.html. Mam około 10 podstron które chciałbym tak przekierwoać. Jak to zrobić w htaccess? Próbowałem
RewriteRule ^?p=linki.php linkownia.html [R=301,L]
RewriteRule ^?p=linki.php /linkownia.html [R=301,L]
wywalały internal error
RewriteRule ^/?p=linki.php /linkownia.html [R=301,L]
nie wywala błędu ale i nie działa. Co robię źle? Pomóżcie proszę
MariuszT napisał: 21.03.10 o godzinie 18:16
@Zapytam. Powinno działać ale nie testowałem. Kombinuj.
@Lucas, spróbuj tego:
RewriteRule ^\?p=linki.php$ /linkownia.html [R=301,L]
lucas_yas napisał: 21.03.10 o godzinie 18:46
@MARIUSZT
Niestety też nie działa
Zniechęciłem się i dodałem na początku index.php przekierowanie 301 w zależności od $_GET['p']. Ale dzięki za chęci.
MariuszT napisał: 23.03.10 o godzinie 11:31
Lucas, powinno działać chociaż już sam nie pamiętam czy nie trzeba dodać flagi QSA żeby Apache brał pod uwagę tzw. Query String. Trzeba byłoby poeksperymentować. Ale jeżeli sobie poradziłeś innym sposobem to super
arek napisał: 26.03.10 o godzinie 9:25
Hmm robiłem już chyba wszystkie kombinacje pod słońcem i dalej nie działa.
Mam na starej stronie adresy np /?page=dzial a chcę stare podstrony ręcznie przekierować w htaccesie na nowe podkatalogi /dzial. Nowy cms to drupal i za cholerę mi nie działają te przekierowania. Będę wdzięczny za pomoc lub jakieś wskazówki.
kosula napisał: 15.04.10 o godzinie 13:15
Witam
Mam problem prosze o pomoc – mialem strone w htmlu jednak aktualnie jest w php. Wiekszosc linkow, ktorymi linkuje strone pokzauje blad ze strona http://www.mojadomena.net.pl/index.html jest nieodnaleziona. musze zrobic przekierowanie z index.html na index.php: utworzylem plik htacces o nastepujacej tresci: RewriteEngine On
rewritecond %{http_host} ^www.ekonta.net.pl/index.html [nc]
rewriterule ^(.*)$ http://www.ekonta.net.pl/index.php/$1 [r=301,nc]
czy to jest ok czy zadziala?
MariuszT napisał: 15.04.10 o godzinie 13:47
@Arek, komentarz nad Twoją wypowiedzią dotyczy również Ciebie.
@Kosula. Poniższe powinno działać.
RewriteEngine On
RewriteRule ^index.html index.php [R=301,L]
kosula napisał: 16.04.10 o godzinie 12:51
MAriusz, niestety nie dziala ;/ moj plik nazywa sie .htaccess.txt, ma rozszerzenie txt, tak powinno byc? nie wiem teraz czy jest zl plik zrobiony czy zla formula ;/
kosula napisał: 16.04.10 o godzinie 13:13
cos nie gra z formulka, jak sprawdzilem to jak sie wchodzi na strone http://www.domena.net.pl/index.html to probuje przekierowac na strone – http://www.ekonta.net.pl/home/...../index.php, zamiast po prostu na http://www.ekonta.net.pl/index.php
macie jakis inny pomysl co do formulki?:)
MariuszT napisał: 16.04.10 o godzinie 13:19
Czy widziałeś gdziekolwiek na tej stronie plik z rozszerzeniem txt? Naprawdę wystarczy tylko czytać http://www.tarnaski.eu/blog/pr...../#htaccess
kosula napisał: 16.04.10 o godzinie 13:43
ok skapowalem sie ze txt to zle rozszerzenie ale i tak cos jest nie tak bo przekierowywuje do zlego katalogu, napisalem jeszcze jednego posta, nie wiesz w czym moze tkwic blad?
MariuszT napisał: 16.04.10 o godzinie 15:50
Proponuje przekierować zarówno index.html jak i index.php na główną domenę. Ta regułka powinna załatwić sprawę. Nie pisałem jej sam, nie chce mi się
Znalezione w google.
RewriteEngine On
RewriteCond %{THE_REQUEST} ^.*/index.html
RewriteRule ^(.*)index.html$ http://www.yoursite.com/$1 [R=301,L]
RewriteCond %{THE_REQUEST} ^.*/index.php
RewriteRule ^(.*)index.php$ http://www.yoursite.com/$1 [R=301,L]
kosula napisał: 16.04.10 o godzinie 16:27
Dziekuje bardzo za pomoc
dziala poprawnie:) pozdrawiam, milego dnia:)
villi napisał: 20.04.10 o godzinie 12:20
Mariusz wszystko fajnie ..tylko czy moglbys takiemu zielonemu jak ja wytlumaczyc gdzie ten kod wstawic?Pozdrawiam
MariuszT napisał: 20.04.10 o godzinie 12:48
@villi, wszystko jest dokładnie wytłumaczone. Kod wstawia się do pliku .htaccess o którym napisałem kilka słów tutaj http://www.tarnaski.eu/blog/pr...../#htaccess
Jeżeli chodzi o kody PHP to wszystko zależy od zastosowanych metod programowania, struktury strony, plików itd. Przy każdej stronie wygląda to trochę inaczej dlatego musi to zrobić ktoś kto orientuje się jak ta strona działa i nie mogę Ci tu pomóc.
villi napisał: 20.04.10 o godzinie 14:02
Wpozadku..powiedz tylko czy dobrze to rozumiem ,chodzi o plik .htaccess na serwerze?
Kozystam z cpanela,i jedyna opcje jaka widze zwiazana z apachem jest „Apache Handlers” ktora daje mi mozliwosc dodawania..i to wszystko..ale .htacess nie ma…
MariuszT napisał: 20.04.10 o godzinie 15:09
Musisz wgrać odpowiedni plik .htaccess na serwer, poprzez FTP lub przez swój panel. I proszę Cię ostatni raz, czytaj co jest wyżej napisane bo zadajesz pytania na które odpowiedzi się tutaj od dawna znajdują.
Z napisał: 16.05.10 o godzinie 9:52
Tak, bardzo ważne informacje, tkx
heel napisał: 02.07.10 o godzinie 5:42
witam,
nie moge sobie poradzic z 301 dla stronki kolegi która jest na moim serwerze ale w jednym z podkatalogow. domena kolegi (kolega.pl) wskazuje powiedzmy na katalog public_html/kolega. oczywiscie przekierowanie mojej stronki (moja.pl) po wpisie w .htacces dziala bez zarzutu ale dodanie przekierowania dla kolega.pl niestety przekierowuje do kolega.pl/kolega – i tu jest kicha. czy mama w podkatalogu kolega utworzyć inny .htacces (probowalem ale nie idzie).
pp
karamba napisał: 05.07.10 o godzinie 23:05
Chciałbym przekierować następującą stronę:
http://www.costam.com/costam-s.....etowy.html
na stronę http://www.esklep.costam.com/index.php
jak to zrobić ?
wielokrotnie próbowałem różnych kombinacji i nic mi nie wychodzi.
mam jeszcze kilka stron w katalogach głębiej i mam ten sam problem
karamba napisał: 05.07.10 o godzinie 23:10
mam tak
RewriteEngine On
rewritecond %{http_host} ^www.costam.com/costam-sklep-internetowy/costam-sklep-internetowy.html [nc]
rewriterule ^(.*)$ http://www.esklep.costam.com/ [r=301,nc]
karamba napisał: 06.07.10 o godzinie 13:19
Szukałem szukałem i znalazłem odpowiedź na swoje pytanie
RewriteEngine On
RewriteRule ^sklep-internetowy-costam.html$ http://www.esklep.costam.com/$1 [R=301,L]
może komuś się przyda
Anonim napisał: 06.07.10 o godzinie 14:51
To został jeszcze jeden problem
mam tak
http://www.costam.com/coswiecej/drobiazg/ chcę to przekierować na
http://www.nowadomena.com
co mam wpisać ?
john napisał: 16.07.10 o godzinie 13:57
jak zrobić żeby z każdej podstrony która nie istnieje kierowało na główną?
MariuszT napisał: 20.07.10 o godzinie 17:29
@Hell
Najprościej w każdym katalogu na który wskazuje domena umieścić osobny .htaccess z odpowiednim przekierowaniem.
@Karamba
Wystarczyło uważnie czytać i trochę pomyśleć
@Anonim (domyślam się, że Karamba)
Doszedłeś do trudniejszego rozwiązania a teraz nie radzisz sobie z prostszym problemem? Pomyśl…
@John
W .htaccess za pomocą mod_rewrite raczej tego nie ustawisz. Ten moduł sprawdza jakie są przychodzące nagłówki i na tej podstawie dokonuje czynności. Nie wie jaka jest odpowiedź serwera bo najpierw on działa (moduł) a dopiero potem następuje uruchomienie np. skryptów PHP. Za pomocą mod_rewrite mógłbyś jedynie sprawdzić czy dany plik istnieje fizycznie na serwerze i jeżeli nie to wtedy robisz przekierowanie. Ale teraz jest PHP i inne języki i plik nie musi istnieć aby serwer wiedział co robić i aby wyświetlił odpowiednią stronę. I odwrotnie, nawet gdy plik istnieje to nie ma gwarancji, że nie zwróci 404.
Do obsługi różnych nagłówków błędów służy dyrektywa ErrorDocument. U Ciebie powinno to wyglądać tak:
ErrorDocument 404 /
Ale to zwróci nagłówek 404. No chyba, że strona główna sama wysyła inny nagłówek to wtedy być może uda Ci się go nadpisać (nie sprawdzałem). Ale to wyjdzie jakiś bajzel totalny.
Najlepszym rozwiązaniem w Twoim przypadku jest użycie PHP (czy inny język jakiego używasz lub możesz użyć). W nim sprawdzaj czy strona istnieje i jeżeli nie to rób odpowiednie przekierowanie.
Na koniec dodam, że moim zdaniem przekierowanie na główną gdy nie znaleziono strony to zły sposób. Strona 404 powinna istnieć a Ty powinieneś się skupić na tym aby google nie indeksowało adresów, których nie ma.
paul napisał: 06.08.10 o godzinie 11:58
witam, moja strona wpisywana w oknie przegladarki wyskakuje z ww i bez www, chcialbym zrobic przekierowanie na tylko www? jak to zrobić?
MariuszT napisał: 09.08.10 o godzinie 15:26
Masz długi artykuł na ten temat i kilkadziesiąt komentarzy i pytasz „jak to zrobić” ? Żarty sobie stroisz…
Rafał napisał: 17.08.10 o godzinie 20:38
Dzięki Mariusz, bardzo mi pomogłeś.