Skocz do zawartości

301 mimo że Erbit mnie zabije...


jantar
 Udostępnij

Rekomendowane odpowiedzi

Przenoszę cały podkatalog z jednego serwera na inny i wstawiłem na starym serwerze w indexie.php taki kodzik:

<?php

header("HTTP/1.1 301 Moved Permanently");

header("Location: https://www.jantar2005.pl/dodaj");

header("Connection: close");

?>

Jednak po jego wstawieniu - na stronie w żródle której ten kod wstawiłem - pojawił mi sie taki błąd:
Warning: Cannot modify header information - headers already sent by (output started at /home1/b/bart-www/public_html/dodaj/index.php:7) in /home1/b/bart-www/public_html/dodaj/index.php on line 65

Warning: Cannot modify header information - headers already sent by (output started at /home1/b/bart-www/public_html/dodaj/index.php:7) in /home1/b/bart-www/public_html/dodaj/index.php on line 66

Warning: Cannot modify header information - headers already sent by (output started at /home1/b/bart-www/public_html/dodaj/index.php:7) in /home1/b/bart-www/public_html/dodaj/index.php on line 67

Przy czym nie ma znaczenia czy ten kod przekierowania wstawię do HEAD czy do BODY.

Co jest nie tak i co muszę zrobiś skoro to jest żle?

Proszę pomóżcie bo muszę szybko opuścić stary serwer, a nie chcę go opuszczać bez przekierowania 301

Odnośnik do komentarza
Udostępnij na innych stronach

jantar :hello::D :D

Z opisu błędu wynika, że chcesz wysłać nagłówek ('Moved...') już po wysłaniu nagłówka. Oznacza to tyle, że Twój skrypt już coś wysłał do przegłądarki. Być może jest to jakiś mało widoczny znak (tak jak napisał kalesin) ale bardziej prawdopodobne jest to na co zwócił uwagę Irek, że wstawiłeś to przekierowanie w nieodpowiednim miejscu. Powinieneś to wstawić na samym początku pliku PHP jeszcze przed wysłaniem do przegłądarki czegokolwiek (przed wyświetleniem czegokolwiek).

Poza tym, jeśli to przenosiny to rozumiem że URL starej podstrony i nowej są zbieżne. Jeśli tak to kod powinien być nieco inny:

header("HTTP/1.1 301 Moved Permanently"); 
header("location:https://www.jantar2005.pl".$_SERVER['REQUEST_URI']); 
header("Connection: close");
exit;

Oczywiście należy zwrócić jeszcze uwagę na katalog /dodaj ale nie znając rozkładu katalogów (starego i nowego) nic więcej nie mogę napisać.

Odnośnik do komentarza
Udostępnij na innych stronach

Wielkie dzięki Irek...

...to było to o czym pisałeś. A swoja drogą to sporo się o tych przekierowaniach naczytałem i nigdzie nie spotkałem takiej informacji, sformułowanej wprost. pomogło tak zapisane:

<?php

header("HTTP/1.1 301 Moved Permanently");

header("Location: https://www.jantar2005.pl/dodaj");

header("Connection: close");

?>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>

<head>...itd

choć oczywiście powinien byc wyłącznie ten kod:
<?php

header("HTTP/1.1 301 Moved Permanently");

header("Location: https://www.jantar2005.pl/dodaj");

header("Connection: close");

?>

bo cała reszta już nie jest potrzebna ponieważ ten kodzik juz przekierowuje na nowy adres.

I dopiero tutaj sie dla mnie okazało że ten kod przekierowuje fizycznie internautę, a nie jak to gdzieś wyczytałem że informuje robota o tym że serwis został przeniesiony.

Wielkie dzięki i pozdrawiam

Odnośnik do komentarza
Udostępnij na innych stronach

... nigdzie nie spotkałem takiej informacji, sformułowanej wprost...

To wynika ze zwykłej ignorancji.

Sprawą oczywistą jest, że sprawy nagłówkowe powinne być przed wysłaniem nagłówka a nie po wysłaniu. Do tego wystarczy znajomość protokołów internetowych.

Każdy z nas się uczy - Ty też.

Zainteresuj się także tą zmianą, którą podałem wcześniej - być może będzie przydatna.

Pozdrawiam.

Odnośnik do komentarza
Udostępnij na innych stronach

Dzięki Erbit...

...że mi tylko osmoliłeś łeb w międzyczasie :hello:

Masz bardzo precyzyjny umysł, czasem nawet sie zastanawiam czy nie jesteś Robotem (sorki, bez urazy)

Istotnie nie dodałem że jednak domena zostaje na starym serwerze, a tylko podstronę i stronę główną przenoszę. I żeby było ciekawiej to chcę przenieść podkatalog dodaj, wraz z PR-4 a strona główna ma być przeniesiona bez PR-5, bo PR-5 tej domeny, podobnie jak i domena "nie są moje".

Czy to możliwe?

Bo jeśli nie - to przenosząc stronę główną muszę gruntownie zmienić content, aby sie nie narazić na uznanie duplicate? Czy tak?

To wynika ze zwykłej ignorancji.

Sprawą oczywistą jest, że sprawy nagłówkowe powinne być przed wysłaniem nagłówka a nie po wysłaniu. Do tego wystarczy znajomość protokołów internetowych.

Daruj, ale trudno mi się z tym zgodzić, w dziale dla początkujących ( a do takich sie zaliczam) ale jest to kolejna pouczajaca uwaga nie tylko dla mnie.

Dziękuję

Edytowane przez jantar
Odnośnik do komentarza
Udostępnij na innych stronach

301 oznacza 'stałe przeniesienie', wiec PR w części tez się przeniesie do czasu utrzymania tego przekierowania. Po zdjęciu przekierowania wszystko wróci do normy - czyli utracisz PR, który się 'przeniósł' wraz z przekierowaniem.

Moze inaczej.

PR jest zalezny od ilosci linków prowadzących do Twej strony (pomińmy inne elementy PR). Gdy dasz 301 z adresu A na adres B to wszystkie linki prowadzce do A de'facto będą 'przekierowane' na B. Gdy zdejmiesz 'przekierowanie' linki prowadzące na 'A' pozostaną tam więc B utraci je. O ile nie zbudujesz własnych linków prowadzących do B to jej PR spadnie.

Odnośnik do komentarza
Udostępnij na innych stronach

Bardzi Ci Erbit dziękuję.

Po raz kolejny się okazało że warto zadawać głupie z pozoru pytania, bo ku mojemu zdziwieniu dowiedziałem sie kilku innych rzeczy. Choćby o przeniesieniu PR. otóż z dotychczasowej lektury tego forum wiedziałem że przekierowanie nie jest potrzebne dłużej niż do momentu zaindexowania nowej (starej) treści na nowym adresie. A tutaj sie dowiadujemy że usunięcie przekierowania po zaindeksowaniu "przeprowadzki" spowoduje utratę PR.

I to mi juz wyjaśnia całą sprawę. Ponieważ nie będę mógł na starym adresie oczekiwac podtrzymania przekierowania to cała ta zabawa w moim przypadku sprowadza się do tego że po przekierowaniu i zaindexowaniu, nowy adres nie zostanie uznany za duplicate. A PR stracę ponieważ przekierowanie ze starej domeny zniknie.

A to coś nowego.

Obawiam sie że niedługo wrócę z podobnym tematem bo już próbowałem, ale musiałem się poddać. I to był chyba błąd, bo coś mi się wydaje że w tych wcześniejszych przekierowaniach coś nie wyszło.

Dzieki wszystkim za pomoc i wyjaśnienia.

Odnośnik do komentarza
Udostępnij na innych stronach

...z dotychczasowej lektury tego forum wiedziałem że przekierowanie nie jest potrzebne dłużej niż do momentu zaindexowania nowej treści na nowym adresie....

Bo mało kto zwraca uwagę na PR a biorąc pod uwagę wzlgędy odwiedzających (userów) takie przekierowanie nie jest dłużej potrzebne. Poza tym uzyskanie PR 4 w oparciu o własne linki (prowadzące bezpośrednio do B ) nie jest trudne, więc proces obniżenia PR związany ze zlikwidowaniem przekierowania może być niedostrzegalny.
Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

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

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
 Udostępnij

  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę. Warunki użytkowania Polityka prywatności