Skocz do zawartości

Przekierowanie przepisanych linków


Satter

Rekomendowane odpowiedzi

Tak, tak wiem, że to mod rewrite był n-razy wałokowany ale mam problem z którym nie mogę sobie poradzić i proszę pomoc. Liczę na wsparcie.

Zrobiłem proste przepisanie linków:

https://www.domena.pl/index.php?a=podstrona -> https://www.domena.pl/podstrona.html

RewriteEngine on
RewriteBase /
RewriteRule ^(.*)\.html$ index.php?a=$1

Jest ok, następnie, chciałem przekierować (301) stare adresy na nowe:

https://www.domena.pl/index.php?a=podstrona -[301]-> https://www.domena.pl/podstrona.html

RewriteCond %{QUERY_STRING} ^a=(.*)$
RewriteRule ^index.php$ https://www.domena.pl/%1\.html? [R=301]

Ok, ale tu zaczynają się schody: przepisanie działa, przekierowanie starych linków też działa, ale przekierowanie się zapetla:

https://www.domena.pl/index.php?a=podstrona -[301]-> https://www.domena.pl/podstrona.html -[301]-> https://www.domena.pl/podstrona.html -[301]-> itd.

Jak to obejść?

/l~~$

Odnośnik do komentarza
Udostępnij na innych stronach

HTTP 200 usługi IT -> Dariusz Janicki | Realizacja serwisów www oraz oprogramowania w PHP / C# / Golang / Node.js / MySQL/ Laravel
Komory normobaryczne - normobaria.tech Wykonawca montażu i instalacji komory normobarii

Odnośnik do komentarza
Udostępnij na innych stronach

Kombinowałem z flagą L tak, żeby po wykonaniu przepisania starego adresu na nowy, ten nowy nie podlegał przekierowaniu:

RewriteEngine on
RewriteBase /
RewriteRule ^(.*)\.html$ index.php?a=$1 [L]
RewriteCond %{QUERY_STRING} ^a=(.*)$
RewriteRule ^index.php$ https://www.domena.pl/%1\.html? [R=301]

Ale i tak nowy adres:

www.domena.pl/podstrona.html

przekierowuje się na siebie samego pomimo, że nie ma parametru. Nie wiem czemu, chyba się poddaję.

/l~~$

Odnośnik do komentarza
Udostępnij na innych stronach

@Nie wiem czemu, chyba się poddaję.

Twój wybór.

---

Jest tyle przykładów, że każdy powinien być wstanie takie przekierowanie samemu napisać. Jenak Nie powiedziane, że po godzinie tak ja Ty i się poddajesz ... jak ci zależy na czasie masz dział zlecenia.

HTTP 200 usługi IT -> Dariusz Janicki | Realizacja serwisów www oraz oprogramowania w PHP / C# / Golang / Node.js / MySQL/ Laravel
Komory normobaryczne - normobaria.tech Wykonawca montażu i instalacji komory normobarii

Odnośnik do komentarza
Udostępnij na innych stronach

Jest tyle przykładów, że każdy powinien być wstanie takie przekierowanie samemu napisać. Jenak Nie powiedziane, że po godzinie tak ja Ty i się poddajesz ... jak ci zależy na czasie masz dział zlecenia.
Nie bardzo czaję po co w ogóle się wypowiadasz jak nie chcesz pomagać ?

Webmastering, kodowanie & programowanie

Więcej informacji na moim profilu

Zapraszam na PW

Odnośnik do komentarza
Udostępnij na innych stronach

@Nie bardzo czaję po co w ogóle się wypowiadasz jak nie chcesz pomagać ?

Według ciebie na czym ma polegć pomoc - na pisaniu za kogoś kodu, szukaniu za kogoś rozwiązań. W tym wypadku wszystkie tego typu problemy są rozwiązane na niezliczonych przykładach, ale trzeba poświęcić trochę więcej czasu i własnej pracy niż zaledwie godzinę :D

Poza tym: megauser -> zatem gdzie jest ta twoja pomoc ? Nie bardzo czaję po co w ogóle się wypowiadasz jak nie chcesz pomagać :)

HTTP 200 usługi IT -> Dariusz Janicki | Realizacja serwisów www oraz oprogramowania w PHP / C# / Golang / Node.js / MySQL/ Laravel
Komory normobaryczne - normobaria.tech Wykonawca montażu i instalacji komory normobarii

Odnośnik do komentarza
Udostępnij na innych stronach

W końcu udało mi udało mi się rozwiązać problem.

Może nie tak jak to powinno być ale działa. :P

Idąc tokiem myślenia Miona to powinienem teraz napisac tak: Jeżeli jesteście zainteresowani to zapraszam do działu zlecenia wtedy wszystko wyjaśnię. ;)

Nie zrobiłem tego w .htaccess ale w phpie:

elseif($_SERVER['REQUEST_URI']=="/index.php?a=podstrona") {
header("HTTP/1.1 301 Moved Permanently");
header("Location: https://www.domena.pl/podstrona.html");
exit();

Teraz przekierowuje tylko rządania ze starych linków z parametrem, a nie zapętla nowe.

Mion,

radzę Ci w ogóle nie zglądać do "Dla początkujących" bo tylko zaśmiecasz topiki swoimi postami, przeładowanymi reklamami licząc na łapanie jeleni na swoje usługi. Nie tędy droga. :)

Tyle razy było, że gorsze od głupiego pytania jest napisanie: Poszukaj w google to już było. Znajdź sobie! Przez takie osoby poźniej tylko nie można niczego znaleźć, bo trafia się na milion takich topików, pośród których ukryte jest rozwiązanie. Jak wiesz, że takie coć już było to daj linka do źródła. Albo olej temat i się nie odzywaj.

Ps. dobrze, że nie kupiłem Ping SEO Mastera, bo bym załował kasy, Ping Machine darmowa i tak samo skuteczna. Polecam. :zeby:

/l~~$

Odnośnik do komentarza
Udostępnij na innych stronach

"Dla początkujących" bo tylko zaśmiecasz topiki swoimi postami, przeładowanymi reklamami licząc na łapanie jeleni na swoje usługi. Nie tędy droga. :)
jesteś żałosny tyle ci mogę powiedzieć - za free. Nie potrzebuje klientów na taką drobnicę jak regułka mod rewritte, a swój czas poświęcam non profit jednak komuś kto chce coś zrobić samemu, a nie czeka na gotowe rozwiązania, bo mu się nie chce lub nie potrafi sam rozwiązywać prostych problemów programistycznych. Ja też nie czekałem na gotowe rozwiązania tylko niezliczone godziny poświęciłem i sam się nad tym pracowałem do tego w czasach kiedy były nieliczne przykłady online, a nie tak jak teraz, że wszystko macie na wyciągnięcie ręki - wystarczy chcieć! :P

HTTP 200 usługi IT -> Dariusz Janicki | Realizacja serwisów www oraz oprogramowania w PHP / C# / Golang / Node.js / MySQL/ Laravel
Komory normobaryczne - normobaria.tech Wykonawca montażu i instalacji komory normobarii

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