Skocz do zawartości

Przekierowanie 301


malyem

Rekomendowane odpowiedzi

Rozwiązaniem jest wiedza lub umiejętność logicznego rozumowania albo jedno i drugie a nie przeklepanie z monitora zawartości postu

RewriteRule ^([0-9]*)/([0-9]*).html$ /?aaa=$1&bbb=$2 [L]

No wlasnie, jak dla mnie to powyzsza zasada tlumaczy link postaci 1/2.html na /?aaa=1&bbb=2 tak?

Ja chce osiaganac cos innego, zeby zaindeksowana strona /?aaa=1&bbb=2 przekierowna byla 301 na 1/2.html

Odnośnik do komentarza
Udostępnij na innych stronach

Nie cytuj moich wypowiedzi gdy nie jest to konieczne - szkoda bazy forum.

No wlasnie, jak dla mnie to powyzsza zasada tlumaczy link postaci 1/2.html na /?aaa=1&bbb=2 tak?

Tak - o to pytales.

[edyta]

Upppss... :placze: chyba nie o to.. :P

Ja chce osiaganac cos innego, zeby zaindeksowana strona /?aaa=1&bbb=2 przekierowna byla 301 na 1/2.html

Jesli w mod_rewrite nie masz zadnych wpisow to:

RewriteRule ^?aaa=([0-9]*)&bbb=([0-9]*)$ /$1/$2.html [R=301,L]

ale prawdopodobnie masz już reguły dotyczące przekierowania odwrotnego (czyli na podobe poprzedniego mojego przykladu) wiec wstawienie tej reguly spowodowaloby zapetlenie.

Musisz więc to zrobic w PHP wstawiajac poniższy kod na samym poczatku index.php (i wszedzie tam gdzie to jest konieczne) :

<?
# sprawdzenie czy koncowka żądanego URL jest rozna od '.html.'
if (substr($_SERVER['REQUEST_URI'],-5,5) !== '.html') {
	# sprawdzenie czy sa odpowiednie zmienne w żądanym URL
if ($_GET['aaa'] && $_GET['bbb']) {
	header("HTTP/1.1 301 Moved Permanently");
	header("location:https://www.domena.pl/".$_GET['aaa']."/".$_GET['bbb'].".html"); 
	exit; 
}
}
?>

zauwaz wystąpienie dwa razy "aaa" oraz dwa razy "bbb" z adresu wzorcowego, który podales.

Odnośnik do komentarza
Udostępnij na innych stronach

Jak napisales nie mozna polaczyc dwoch przekierowan.

w .htaccess nie mozna. To tak samo jakbys w PHP przekierował w jedną i w drugą stronę (HTML nigdy by sie nie wyswietlił bo skrypt by sie zapetlił).

Sprawa ma sie tak:

.htaccess to plik konfiguracyjny serwera (apache). Wpis tam powoduje, ze do skryptu PHP trafia juz zapytanie przetworzone przez regułe z .htaccess

Dwie odwrotne reguły spowodowalyby zapętlenie na poziomie samego serwera apache, dlatego tez nalezy wykonac to dzieląc na dwa etapy - raz w .htaccess a dwa w PHP.

Odnośnik do komentarza
Udostępnij na innych stronach

A ja mam takie głupie pytanie...

Mam domenę z PR=4

Mam tez 6 subdomen (!) w tej domenie i wszystkie mają PR=3

SubDomeny te z końcem roku przestały być używane...

Jaki będzie efekt gdy na wszystkich subdomenach zrobie przekierowanie 301 do Domeny?? Czy wzrośnie PR domeny?? Czy wszystkie linki w google prowadzące do subdomen zostaną przeniesione na domenę ??

Odnośnik do komentarza
Udostępnij na innych stronach

Wiem jak przekierowac np. z www.domena.pl na domena.pl.

Mam poindeksowane strony w formie domena.pl/?aaa=1&bbb=2 chcialbym zeby byly kierowane na domena.pl/1/2.html. Jak to zrobic w htaccess?

Znalazlem post z tym samym problemem, ale bez rozwiazania.

Użyj kodu 301 zamiast 302 w każdym razie, podobno pomaga :rtfm:

Ania

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