Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Przekierowania w htaccess - zaawansowane
adek-
post 13.03.2019, 13:48:06
Post #1





Grupa: Zarejestrowani
Postów: 124
Pomógł: 2
Dołączył: 19.04.2007
Skąd: Częstochowa

Ostrzeżenie: (0%)
-----


Witam szanowne grono,

pomóżcie proszę znaleźć odpowiednie hasło dla googla, albo stronę, bądź coś podpowiedzieć, gdzie będą wytłumaczone zaawansowane przekierowania w httaccess z wieloma parametrami, mianowicie chodzi mi o przekierowania wielu sprzedawanych przedmiotów z subdomeny na ich odpowiedniki w domenie głównej... i wszystko byłoby ok, gdyby nie to, że nie jest to proste przekierowanie domeny na domenę, a całych urli na inne urle wielopoziomowe. Mianowicie chcę przekierować linki takiego typu (około 40 linków) z subdomeny
https://www.sprzedaz.domena.pl/punkt/index/222 (222 to id punktu), na takie coś w domenie głównej i już z przyjaznymi url'ami
https://www.domena.pl/punkty/punkt/miastoX/nazwa_punktuX
wszystko od strony technicznej strony mam za sobą, niestety nie potrafię znaleźć/zrobić takich przekierowań, oczywiście 301, aby odnośniki nie straciły na wartości w wyszukiwarkach.

Z góry dziękuję.

Go to the top of the page
+Quote Post
trueblue
post 13.03.2019, 14:31:57
Post #2





Grupa: Zarejestrowani
Postów: 6 761
Pomógł: 1822
Dołączył: 11.03.2014

Ostrzeżenie: (0%)
-----


W .htaccess tego nie zrobisz, chyba, że chcesz wpisywać 40 odrębnych przekierowań dla każdego URL z id punktu jego odpowiednik z nazwą miasta i nazwą punktu.
Łatwiej byłoby zrobić to w PHP, w pętli.


--------------------
Go to the top of the page
+Quote Post
Tomplus
post 13.03.2019, 15:33:26
Post #3





Grupa: Zarejestrowani
Postów: 1 828
Pomógł: 225
Dołączył: 20.03.2005
Skąd: Będzin

Ostrzeżenie: (0%)
-----


na nginx dałbyś radę coś takiego zrobić, więc jak możesz przełączyć Apache na Nginx to możesz w tym spróbować skonstruować odpowiednie zapytanie.
Go to the top of the page
+Quote Post
adek-
post 13.03.2019, 16:41:39
Post #4





Grupa: Zarejestrowani
Postów: 124
Pomógł: 2
Dołączył: 19.04.2007
Skąd: Częstochowa

Ostrzeżenie: (0%)
-----


Cytat(trueblue @ 13.03.2019, 14:31:57 ) *
W .htaccess tego nie zrobisz, chyba, że chcesz wpisywać 40 odrębnych przekierowań dla każdego URL z id punktu jego odpowiednik z nazwą miasta i nazwą punktu.
Łatwiej byłoby zrobić to w PHP, w pętli.

@trueblue właśnie o stałych przekierowaniach myślę w .htaccess, bo są to stałe punkty. Teraz mam zrobione tak, że do każdego z tych punktów posiadam zakupioną domenę, np www.punkt-kraków.pl i wszystkie przekierowania zakupionych domen mam zrobione na główną stronę subdomeny www.sprzedaz.domena.pl , a w .htaccess przekierowania do każdego punktu indywidualnie.
  1. RewriteCond %{HTTP_HOST} ^(www.)?punkt-kraków.pl$
  2. RewriteRule ^(/)?$ htps://www.sprzedaz.domena.pl/punkt/index/222 [L]

wiem, na okrętkę bardzo i zawsze trzeba pamiętać o wpisach, ale są to stałe punkty, więc wcale by mi nie przeszkadzało, aby to były "sztywne" przekierowania.

PS @Tomplus nginx nie wchodzi w grę, ponieważ serwer nie jest mój ;/
Go to the top of the page
+Quote Post
trueblue
post 13.03.2019, 17:15:56
Post #5





Grupa: Zarejestrowani
Postów: 6 761
Pomógł: 1822
Dołączył: 11.03.2014

Ostrzeżenie: (0%)
-----


To na jaki adres chcesz przekierować konkretną subdomenę dla punktu, na https://www.domena.pl/punkty/punkt/miastoX/nazwa_punktuX czy na https://www.punkt-kraków.pl?


--------------------
Go to the top of the page
+Quote Post
adek-
post 13.03.2019, 19:48:13
Post #6





Grupa: Zarejestrowani
Postów: 124
Pomógł: 2
Dołączył: 19.04.2007
Skąd: Częstochowa

Ostrzeżenie: (0%)
-----


@trueblue chcę zrobić tak jak pisałem na początku w pierwszym poście, czyli
https://www.sprzedaz.domena.pl/punkt/index/222 zamienić na https://www.domena.pl/punkty/punkt/miastoX/nazwa_punktuX, bo to jest dla mnie problem...
a te odnośniki z domen poziomu pierwszego, o które teraz pytasz (np. kraków), to pokazałem jak mam na chwilę obecną zrobione na działającej stronie i jak sobie zmienię
  1. RewriteCond %{HTTP_HOST} ^(www.)?punkt-kraków.pl$
  2. RewriteRule ^(/)?$ htps://www.sprzedaz.domena.pl/punkt/index/222 [L] na htps://www.domena.pl/punkty/punkt/miastoX/nazwa_punktuX

to mi to ładnie działa, ale wyszukiwarki po wpisaniu którejkolwiek z wykupionych domen (typu krakow), zapamiętały adresy starych stron z subdomeny (te z adresami id) i tam prowadzą kliknięcia... stąd na subdomenie muszę zrobić przekierowania o które pytałem, tak, żeby robił się autoredirect z zapamiętanych starych stron na nowe, a osobną drogą już porobić domeny typu kraków na nowe adresy. Jak zrobi się te przekierowania na 301, to wyszukiwarki z tego co wiem, po jakimś czasie zamienią te stare odnośniki na nowe... oby, a jeśli nie, to i tak zachowam ich moc przekierowując na nowe strony, a te nowe będą się powoli pozycjonować! smile.gif

Ogólnie wiem, zamota przez błędy założeń 7 lat temu z subdomeną... wszystko byłoby łatwiejsze, gdyby to było w jednej domenie cały czas, bo wystarczyłoby zamienić w tej samej domenie zmienne id na przyjazne url ;/

Ten post edytował adek- 13.03.2019, 19:49:34
Go to the top of the page
+Quote Post
trueblue
post 13.03.2019, 20:03:01
Post #7





Grupa: Zarejestrowani
Postów: 6 761
Pomógł: 1822
Dołączył: 11.03.2014

Ostrzeżenie: (0%)
-----


Kod
RewriteCond %{HTTP_HOST} ^www.sprzedaz.domena.pl$
RewriteCond %{REQUEST_URI} ^/punkt/index/222$
RewriteRule .* https://www.domena.pl/punkty/punkt/warszawa/punkt222


--------------------
Go to the top of the page
+Quote Post
adek-
post 15.03.2019, 11:32:55
Post #8





Grupa: Zarejestrowani
Postów: 124
Pomógł: 2
Dołączył: 19.04.2007
Skąd: Częstochowa

Ostrzeżenie: (0%)
-----


@trueblue, u mnie niestety ten chwyt nie zadziałał, być może nieco inne ustawienie serwera, ale dziękuję Ci za chęci niesienia pomocy, może komuś się ten wpis kiedyś przyda (klikam solved)... A ja w ostateczności, nie chciałem wynajdywać koła od nowa i zrobiłem to za pomocą starego dobrego php, bo to chociaż ogarniam w porównaniu do .htaccess wink.gif
  1. <?php if(isset($this->one_pos[0]['name'])) {
  2. header('HTTP/1.1 301 Moved Permanently');
  3. header("Location: htps://www.domena.pl/sprzedaz/punkt/".$this->one_pos[0]['cityUrl']."/".$this->one_pos[0]['posUrl']."");
  4. } else { echo 'nothin to do :)'; } ?>

oczywiście dorobiłem sobie jeszcze kilka ifów sprawdzających url strony i wprzypadku zakładki kontakt przenosi na kontakt w nowej stronie itd... jak zobaczę, że "gógl" naumiał się już linków, to starą stronę skasuję.
Serdecznie dziękuję wszystkim za zainteresowanie.
Go to the top of the page
+Quote Post
trueblue
post 15.03.2019, 11:46:37
Post #9





Grupa: Zarejestrowani
Postów: 6 761
Pomógł: 1822
Dołączył: 11.03.2014

Ostrzeżenie: (0%)
-----


Następnym razem podaj na jaką domenę chcesz przekierować. Podałeś trzy różne wersje: www.domena.pl/punkty/punkt/miastoX/nazwa_punktuX, www.punkt-kraków.pl, www.domena.pl/sprzedaz/punkt/miastoX/nazwa_punktuX


--------------------
Go to the top of the page
+Quote Post
adek-
post 15.03.2019, 12:58:10
Post #10





Grupa: Zarejestrowani
Postów: 124
Pomógł: 2
Dołączył: 19.04.2007
Skąd: Częstochowa

Ostrzeżenie: (0%)
-----


przepraszam, ale tak jak mówiłem, parę ładnych lat temu zrobiłem błędy założeń i porobiłem sporo domen, sporo przekierowań na sztywno itd., więc każde z tych przekierowań które podałem jest właściwe i faktycznie łatwo się w tym pogubić, dlatego od tego uciekłem.. oczywiście Twój kod nie wkleiłem bezmyślnie, ale dostosowałem do odpowiednich urli i w zasadzie dzięki Tobie przyszła mi do głowy myśl z przekierowaniem w PHP, więc jeszcze raz dziękuję!
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 29.03.2024 - 00:26