fifty123 0 Zgłoś post Napisano Styczeń 3, 2013 Witam. Mam problem. Używam skryptu TenTego 2, wcześniej TT1. Linki do obrazków w TT1 miały postać: adres.pl:/obrazek.php?998 Po aktualizacji do TT2, linki mają teraz postać adres.pl:/obrazek/998/ Jak zrobić przekierowanie ze starych linków na te nowe? Ciągle mi wyskakuje 404 po wejściu przez stary link, a chciałbym, żeby zmieniało mi automatycznie na nowy. W htaccess próbowałem użyć takiej komendy: Redirect 301 /obrazek\.php\?(\d+) /obrazek/$1 Niestety nie działa. Może mi ktoś pomóc? Udostępnij ten post Link to postu Udostępnij na innych stronach
Piotr GRD 608 Zgłoś post Napisano Styczeń 3, 2013 (edytowany) mod_alias (czyli użycie Redirect lub RedirectMatch) nie daje Ci możliwości zabawy z QUERY_STRING (czyli tym co po znaku zapytania). Musisz wesprzeć się mod_rewrite, czyli będzie to np. coś takiego: RewriteEngine On RewriteBase / RewriteCond %{REQUEST_URI} ^/obrazek\.php$ RewriteCond %{QUERY_STRING} ^(.*)$ RewriteRule ^(.*)$ http://example.com/obrazek/%1/ [R=301,L] Zakładam, że nowa wersja skryptu ma w .htaccess własne reguły przepisywania, więc te dodaj PRZED tamtymi. RewriteBase wymagane jest na hostach wirtualnych, w przeciwnym razie niepotrzebne. Ostatecznie zawsze w takich sytuacjach można stworzyć własny plik "obrazek.php" z odpowiednią zawartością sprawdzającą QUERY_STRING i przekierowującą jak należy. Edytowano Styczeń 3, 2013 przez Piotr GRD (zobacz historię edycji) Udostępnij ten post Link to postu Udostępnij na innych stronach
fifty123 0 Zgłoś post Napisano Styczeń 3, 2013 Piotr, bardzo dziękuję za tak szybką i rzeczową odpowiedź. Nic dziwnego, że mi przekierowania nie wychodziły. Nie miałem pojęcia o QUERY_STRING. htaccess ma własne reguły, ale do zmieniania np. search.php na szukaj, itp. Reguły tworzenia linków są gdzieś wpisane w kodzie. Mam jeszcze jedno pytanie. Adresy mi zaczęło przekierowywać na nowe, obrazki mi się pokazują, ale teraz mam link w takiej postaci adres.pl:/obrazek/998/?998 czy da się jakoś skasować tą końcówkę ?998? Udostępnij ten post Link to postu Udostępnij na innych stronach
Piotr GRD 608 Zgłoś post Napisano Styczeń 3, 2013 (edytowany) Ah! Zapomniałem o tym. : ) Dodaj znak zapytania na końcu. RewriteRule ^(.*)$ http://example.com/obrazek/%1/? [R=301,L] Edytowano Styczeń 3, 2013 przez Gość (zobacz historię edycji) Udostępnij ten post Link to postu Udostępnij na innych stronach
fifty123 0 Zgłoś post Napisano Styczeń 3, 2013 Piotr, wszystko śmiga jak należy. Dziękuję ci bardzo za pomoc. Walczyłem z tym już od dłuższego czasu. Udostępnij ten post Link to postu Udostępnij na innych stronach