CodersCommunity / forum.pasja-informatyki.local

Środowisko deweloperskie forum
https://forum.pasja-informatyki.pl
25 stars 7 forks source link

Przekierowanie pytania na pełny adres #308

Closed awaluk closed 1 year ago

awaluk commented 1 year ago

Poprawka, która dodaje przekierowanie na właściwy adres pytania. Obecnie można w adresie wpisać w zasadzie cokolwiek, zgadzać się musi tylko id, i działa. Jest wtedy co prawda meta canonical, ale zdaje się, że skuteczniejszą formą, aby takie linki w ogóle nie miały okazji być gdzieś propagowane, będzie przekierowanie 301 od razu na właściwy adres. Problemu żadnego być nie powinno, bo jeśli gdzieś do tej pory coś było źle zaindeksowane to powinno się zmienić na właściwy adres, a jeśli ktoś lubił możliwość wejścia poprzez samo wpisanie domena/id pytania, to nadal będzie to działało tylko od razu z przekierowaniem na właściwy adres.

ScriptyChris commented 1 year ago

Przetestowałem, działa. Nie wiem tylko czy nie lepiej zwracać kod HTTP 303 zamiast 301, jeśli ktoś wpisze cokolwiek po ID pytania w URL-u. Moved permanently chyba by bardziej pasował, gdyby wcześniej dany randomowy ciąg odnosił się do istniejącego adresu, a przecież tak nie jest - przy dowolnym ciągu (zamiast nazwy tematu) przekierowanie jest bardziej jako taki bezpiecznik niż coś, co przekierowuje z dotychczas prawidłowej lokalizacji do nowej.

awaluk commented 1 year ago

Jak to z kodami HTTP bywa, nie są w pełni jednoznacznie opisane IMO. Patrząc na to co podlinkowałeś to tam są podane bardziej specyficzne sytuacje

such as a confirmation page, a representation of a real-world object — see HTTP range-14 — or an upload-progress page). This response code is often sent back as a result of PUT or POST

Tu nie mamy czegoś takiego jak i nie mamy PUT ani POST. Zerknąłem sobie też na szybko co pisze o tym Google i 303 traktują jako kod tymczasowy: https://developers.google.com/search/docs/crawling-indexing/301-redirects a u nas to raczej nie jest tymczasowe - jeśli zaindeksuje się jakiś skrócony albo przerobiony adres pytania, który ktoś gdzieś wklei, to należy pójść pod ten właściwy i go trwale zaindeksować, inne nas nie interesują