Skocz do zawartości

Po zmianie wyglądu linków (mod rewrite )


Jaksha

Rekomendowane odpowiedzi

Witam

zrobiłem na mojej stronie mod rewrite np. index.php?page=news&id=5 wyglada teraz tak: news,5

Wszystkie moje podstrony byly juz zaindeksowane, co zrobic by google bot "wiedział" że index.php?page=news&id=$id wygląda teraz tak - news,$id i zaktualizował linki a nie dodał jako nowe bo można chyba dostać za to (duplicate content ) filtr/bana ?

I jeszcze jedna sprawa wcześniej nie wyłączyłem sesji i google zaindeksowalo sporo stron po pare razy z ?PHPSESSID=..... co mam w takim przypadku zrobić ?

Pozdrawiam

Jaksha

Odnośnik do komentarza
Udostępnij na innych stronach

OK, dzieki ale mam jeszcze jedno pytanie odnosnie tego przekierowania.

Jesli moja regula wyglada tak

RewriteRule ^news,([0-9]+)?$ index.php?page=news&id=$1 [L]

to wystarczy dodac R=301 ? Czyli bylo by

RewriteRule ^news,([0-9]+)?$ index.php?page=news&id=$1 [R=301,L]

Bo wydaje mi sie ze tak powinno byc ale nie dziala :soczek:

Moglby ktos mi napisac jak powinno wygladac to przekierowanie do newsow ?

Z gory dziekuje

Odnośnik do komentarza
Udostępnij na innych stronach

Najpierw musisz rozpoznać, czy strona została wywołana przez stary adres czy przez nowy - jeśli przez stary, przekierować ją na nowy, ot tyle - tak pokrótce wygląda algorytm.

Tyle to i ja wiem, ale sorry jestem początkujący a jak widze to są tylko przykłady zmian strony głównej na bez www na początku i odwrotnie i to już zastowałem. Teraz nie wiem jak dodać reszte teguł. Mój .htaccess wygląda tak.

RewriteEngine On

RewriteCond %{HTTP_HOST} ^strona.pl$

RewriteRule ^(.*) https://www.strona.pl/$1 [QSA,L,R=301]

RewriteRule ^news,([0-9]+)?$ index.php?page=news&id=$1 [L]

RewriteRule ^infopages,(.+)?$ index.php?page=infopages&id=$1 [L]

Jak np. zrobić przekierowanie dla news ? Proszę o konkretny przykład bo naprawdę są tylko przykłady o stronie głównej, kombinuje to jakoś zrobic ale cały czas mi nie wychodzi.

Odnośnik do komentarza
Udostępnij na innych stronach

Witam, mam do rozwiązania podobną sprawę, chcę aby stare linki były przekierowane na te nowe, wymyśliłem tak:

RewriteCond %{REQUEST_URI} ^[A-Z]{3,9}\ readarticle.php?article_id=5

RewriteRule ^readarticle.php?article_id=5 titel-r5.htm [QSA,L]

ale niestety nie działa. Mógłby ktoś pomóc?

Odnośnik do komentarza
Udostępnij na innych stronach

Witam, mam do rozwiązania podobną sprawę, chcę aby stare linki były przekierowane na te nowe, wymyśliłem tak:

RewriteCond %{REQUEST_URI} ^[A-Z]{3,9}\ readarticle.php?article_id=5

RewriteRule ^readarticle.php?article_id=5 titel-r5.htm [QSA,L]

ale niestety nie działa. Mógłby ktoś pomóc?

nie licz na konkretną pomoc, jak widze to jest tutaj kilka osób które znają się na rzeczy ale że tu zajrzą i pomogą to masz małe szanse ;-)

Odnośnik do komentarza
Udostępnij na innych stronach

Na konkretną odpowiedź ciężko liczyć, bo takie zmiany wymagają poznania znacznej ilości serwisu, co i jak działa. Nigdy nie bawiłem się przekierowaniami w .htaccess więc nie mogę Wam pomóc, ale taki problem zawsze rozwiązywałem następująco. Po zmianie adresu wrzucałem do pliku głównego:

if (substr($_SERVER['REQUEST_URI'],-5,5) !== '.html') {
if ($_GET['a']) {
	header("HTTP/1.1 301 Moved Permanently");
	header("location:https://www.domena.pl/dzial-".$_GET['a'].".html");
	exit;
}
}

.. i dzięki temu w bardzo prosty sposób pozbyłem się starych adrsów typu "index.php?page=news&id=5",

i Google również bardzo przyjemnie to wchłania.

Polecam wątek: https://www.forum.optymalizacja.com/index.php?s...;hl=mod+rewrite

Pozdrawiam,

Mar.

Polecam katalog SeoPark.pl, katalog AK47 (5 lata w sieci) ...oraz Wirtualne-miasta.eu
"Dopóki nie skorzystałem z Internetu, nie wiedziałem, że na świecie jest tylu idiotów" - Stanisław Lem

Odnośnik do komentarza
Udostępnij na innych stronach

Jaksha:

RewriteRule ^news,([0-9]+)$ https://www.strona.pl/index.php?page=news&id=$1 [R=301,L]

?

nker:

Witam, mam do rozwiązania podobną sprawę, chcę aby stare linki były przekierowane na te nowe, wymyśliłem tak:
Jak wyglądają stare linki i jak wyglądają nowe ?

Nie znam się na pozycjonowaniu, ja tu tylko zużywam transfer i miejsce w sql.

Roman Kluska ujawnia: nadchodzi INFLACYJNY ARMAGEDON!

 

Odnośnik do komentarza
Udostępnij na innych stronach

Rozumiem że pogrubiona część strona.pl/meine-ganz-normale-woche-r102.htm jest zmienna i jest tytułem artykułu. W takim razie przekierowanie najlepiej zrobić w PHP, natomiast konstrukcja jest już zależna od konstrukcji całego skryptu strony. Generalnie to po wejściu w adres strona.pl/readarticle.php?article_id=102 trzeba pobrać tytuł artykułu, utworzyć z tego odpowiedni adres i zrobić przekierowanie na niego.

Nie znam się na pozycjonowaniu, ja tu tylko zużywam transfer i miejsce w sql.

Roman Kluska ujawnia: nadchodzi INFLACYJNY ARMAGEDON!

 

Odnośnik do komentarza
Udostępnij na innych stronach

Mój .htaccess wygląda tak.

RewriteEngine On

RewriteCond %{HTTP_HOST} ^strona.pl$

RewriteRule ^(.*) https://www.strona.pl/$1 [QSA,L,R=301]

RewriteRule ^news,([0-9]+)?$ index.php?page=news&id=$1 [L]

RewriteRule ^infopages,(.+)?$ index.php?page=infopages&id=$1 [L]

Options +FollowSymLinks 

RewriteEngine On 

RewriteCond %{HTTP_HOST} ^(strona\.pl)$ [NC] 
RewriteRule ^(.*)$ https://www.%1/$1 [R=301,L] 

RewriteCond %{ENV:REDIRECT_STATUS} ^$ 
RewriteCond %{QUERY_STRING} ^(.*&)?page=news(&.*)?$ [NC] 
RewriteCond %{QUERY_STRING} ^(.*&)?id=([0-9]+)(&.*)?$ [NC] 
RewriteRule ^(index\.php)?$ /news,%2? [R=301,L] 

RewriteRule ^news,([0-9]+)?$ index.php?page=news&id=$1 [L]

Również jak będzie link z ?PHPSESSID=.... to zamieni na news,$id

Jeśli ktoś wejdzie przez strona.pl przekieruje na www.strona.pl

Pozdrawiam

ARES

podobne_firmy_468x60.jpg

 

 

Odnośnik do komentarza
Udostępnij na innych stronach

Dziękuję za wskazówki.

Stary adres:e-deutsch.pl/readarticle.php?article_id=1

Nowy adres pod mod_rewrite:e-deutsch.pl/antonimy-r1.htm

Wrzuciłem następujący kod do readarticle.php:

if (substr($_SERVER['REQUEST_URI'],-5,5) !== '.htm') {
if ($_GET['article_id']=='1') {
	header("HTTP/1.1 301 Moved Permanently");
	header("location:https://e-deutsch.pl/antonimy-r1.htm");
	exit;
}
}

Niestety po wpisaniu jakiegokolwiek adresu odnoszącego się do readarticle.php ładowanie strony kończy się fiaskiem.

Zauważyłem, że gdy "location", odnosi się do czegokolwiek innego (np. strona główna), to wsio działa.

W związku z tym, jaki będzie efekt w g. jak wszystkie statyczne przekierowałbym na stronę główną?

Odnośnik do komentarza
Udostępnij na innych stronach

Trochę namieszałeś z tym kodem. Jeszcze raz przyjrzyj się temu co podał Mar.

Podpowiedź:

sprawdź jak wynik daje substr($_SERVER['REQUEST_URI'],-5,5) i czy kiedykolwiek będzie to .htm ?

Nie znam się na pozycjonowaniu, ja tu tylko zużywam transfer i miejsce w sql.

Roman Kluska ujawnia: nadchodzi INFLACYJNY ARMAGEDON!

 

Odnośnik do komentarza
Udostępnij na innych stronach

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

  • 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