Dzień dobry, nie działa w htaccess Redirect /aaa http://domena.pl/bbbbbbb Znalazłem w pomocy (u Was wszystko musi być inaczej?!) to: :Location /aaaaa Redirect /bbbbbbbbbbbbbb :Location I nie działa. Jak zrobić przekierowanie z jednego adresu na drugi w obrębie jednej domeny? Dziękuję
Możesz podać mi link, pod którym znalazłeś informacje o funkcji :Location ? Nie jest to sugerowane rozwiązanie, dlatego chciałbym odpowiednio zmodyfikować dokumentacje i skierować ruch do artykułu o tzw. przekierowaniu 301. W takich sytuacjach sugerujemy właśnie korzystać z przekierowania 301 w .htaccess - więcej informacji tutaj: https://pomoc.home.pl/baza-wiedzy/przekierowanie-301-w-pliku-htaccess/ Przekierowanie z jednego adresu na drugi w ramach tej samej domeny: Code: RewriteEngine On RewriteCond %{HTTP_HOST} ^(www\.)?twojadomena\.pl$ [NC] RewriteRule ^adres1(\/.*)?$ http://www.twojadomena.pl/adres2 [R=301,L]
Proszę: https://pomoc.home.pl/baza-wiedzy/inne-przydatne-funkcje-w-pliku-htaccess/ Dlaczego nie działa zwykłe? Redirect 301 /aaa /bbbbbb
@Bazyl pozwoliłem sobie zaktualizować informacje w naszej dokumentacji na temat korzystania z funkcji :Location na naszych serwerach. Więcej informacji można znaleźć w artykule, który podałeś: https://pomoc.home.pl/baza-wiedzy/inne-przydatne-funkcje-w-pliku-htaccess/ Sugerujemy korzystanie z przekierowania 301, ale jeśli chcesz skorzystać z funkcji :Location to wpis pownien wyglądać tak: Code: :Location /stare_strony/ Redirect temp /nowe_strony/ :Location Przy odwołaniu się do katalogu „/stare_strony” zostanie wykonane przekierowanie z kodem 302 (Moved Temporarily) na katalog „/nowe_strony”. Poniższy wpis powinien zostać umieszczony w pliku .htaccess, który znajduje się w katalogu /stare_strony. We wpisie nie musi znajdować parametr temp, można go usunąć lub umieścić inny parametr, np. permanent – wtedy podczas przekierowania zostanie zwrócony status 301 Moved Permanently oraz wykonane zostanie przekierowanie. Wszystko sprawdziłem i przetestowałem na swoim serwerze. Temat ustawiam jako rozwiązany.
Nie chcę korzystać z funkcji :Location Szukałem, bo nie działa to, co działa na innych serwerach... Dlaczego nie działa zwykłe? Redirect 301 /aaa /bbbbbbt Mam tych wpisów "trochę", więc chcę sobie maksymalnie uprościć.
Wydawało mi się, że jeszcze nie zakończyliśmy Nie działają u Was standardowe przekierowania w .htaccess. Dodanie Redirect 301 /stara-podstrona /nowa-podstrona powoduje błąd przekierowania, a wszystko wchodzi na adres domena.pl/stara-podstrona. Taka sytuacja... Poproszę o zapis, jak najprościej przekierować wiele adresów: /stara-podstrona --> /nowa-podstrona /stara-podstrona2 --> /nowa-podstrona2 /stara-podstrona3 --> /nowa-podstrona3 oraz grupę adresów zawierających np. wyraz LATO na adres /zima Bardzo dziękuję
@Bazyl skonsultowałem temat z kierownikiem produktu oraz administratorami i otrzymałem potwierdzenie, że planujemy dostosować naszą platformę w taki sposób, aby wszystkie reguły znane ze standardowego Apache'a funkcjonowały również poprawnie na naszych serwerach. Jako kolejną propozycję rozwiązania proponuję poniższe przekierowanie 301, z którego skorzystałem przy jednym projekcie. Poniższe wpisy pozwoliły "ładnie" przepisać stare adresy na nowe (Google zmieniło linki w swoim indeksie na nowe i strona WWW nie straciła na pozycjonowaniu podczas zmiany adresów). Code: RewriteEngine On RewriteCond %{HTTP_HOST} ^(www\.)?twojadomena.pl\.pl [NC] RewriteRule ^stare1$ https://twojadomena.pl/nowe1 [R=301] RewriteRule ^stare2$ https://twojadomena.pl/nowe2 [R=301] RewriteRule ^stare3$ https://twojadomena.pl/nowe3 [R=301,L] @Bazyl daj proszę znać czy takie rozwiązanie jest ok, abym mógł ustawić odpowiedni status dla tematu.
Niesamowite... Niestety te reguły nie działają (a w drugim wierszu dodatkowo jest błąd). Myślałem, że problem jest tylko na tej nowej platformie, ale nie. Na starej też nie działają reguły, które wcześniej działały. Pięknie Naprawdę nikt wcześniej tego nie zauważył?!
Kierownik produktu oraz administratorzy znają tę sprawę już od jakiegoś czasu, ja niestety nie znałem, nie posiadam wszystkich informacji, dlatego musiałem ten temat skonsultować (gdzie podczas konsultacji otrzymałem potwierdzenie planów wprowadzenia wszystkich dyrektyw znanych ze standardowego Apache'a). Serwery w home.pl funkcjonują na platformie, która nie jest typowym Apache'em i z tego powodu niektóre dyrektywy znane z Apache'a nie funkcjonują. Nasi administratorzy mają na tapecie wdrożenie wszystkich dyrektyw z czasem. Czy masz na myśli zaproponowane przez ze mnie przekierowanie 301 w poprzednim moim poście? Przed chwilą ponownie sprawdziłem i przekierowania zbudowane w taki sposób na moim prywatnym serwerze w home.pl funkcjonują poprawnie (wykonywane jest przekierowanie 301 na podany adres). Możesz napisać więcej o wspomnianym błędzie w drugiej linijce, może coś przeoczyłem.
jest to kwestia najbliższych miesięcy, na pewno nie kilku tygodni. Tyle informacji mogę odkryć na ten temat.
@Bazyl nie mam dobrych wiadomości odnośnie globalnej aktualizacji - mogę na tę chwilę zapewnić, że temat dostosowania reguł przekierowań do formy znanej z Apache'a jest na naszej roadmapie i z pewnością te reguły dostosujemy, ale terminów nie mogę żadnych podać. Poniżej podaję dwa przykłady, które mogą coś rozjaśnić w temacie poprawnych przekierowaniach, które funkcjonują na naszych serwerach. Można taki efekt uzyskać poprzez dyrektywę REQUEST_URI. Poniższe dwa przykłady pozwoliłem sobie opisać na subdomenie o nazwie "test.twojadomena.pl". Pierwszy przykład - przekierowanie z jednego adresu na drugi w ramach tej samej domeny. Code: RewriteEngine On RewriteCond %{HTTP_HOST} ^(www\.)?test\.twojadomena\.pl$ [NC] RewriteCond %{REQUEST_URI} ^/adres1/ RewriteRule (.*) /adres2 [R=301,L] Domena twojadomena.pl wskazuje na katalog test. Czyli lokalizacje opisane w przykładzie wyglądają następująco: Code: public_html/test/adres1/ public_html/test/adres2/ Powyższa reguła spowoduje zatem, że cały ruch z adresu: test.twojadomena.pl/adres1 Zostanie przekierowany na adres: test.twojadomena.pl/adres2 --------------------------- Drugi przykład - również często wywoływany przez naszych użytkowników. Poniższa reguła spowoduje, że cały ruch z requestu: test.twojadomena.pl/adres1, zostanie przekierowany na adres: test.twojadomena.pl/adres1/adres2 Code: RewriteEngine On RewriteCond %{HTTP_HOST} ^(www\.)?test\.twojadomena\.pl$ [NC] RewriteCond %{REQUEST_URI} ^/adres1/ RewriteCond %{REQUEST_URI} !adres2 RewriteRule (.*) $1/adres2 [R=301,L] Domena twojadomena.pl wskazuje na katalog /test i możemy ją wywołać za pośrednictwem adresu: test.twojadomena.pl. Zatem lokalizacje opisane w przykładzie są następujące: /adres1/adres2/. Idąc od głównego katalogu wygląda to zatem tak: Code: public_html/test/adres1/adres2/ Na dniach postaramy się uporządkować informacje na temat przekierowań oraz mod_rewrite w naszej dokumentacji pomoc.home.pl. Zaktualizujemy wszelkie instrukcje i uzupełnimy je o wiele przykładów (tak jak w powyższym poście).