Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [.htaccess] Przekierowanie "nieprzyjaznych" linków na linki przyjazne
Dytczak
post
Post #1





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 8.04.2009

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


Witam,

Otóż dzisiaj postanowiłem zmienić na swojej stronie linki "nieprzyjazne" na przyjazne. Niestety tych pierwszych w ogóle nie indeksował google - zresztą co tu się dziwić, skoro podstrony były zakończone rozszerzeniem .jpg, .gif czy .png (tak, to hosting fotek).
Aha, jeszcze dla osób niezorientowanych - budowa tego linku: domena.pl/image.php?img=numer_katalogu/numer_zdjecia.jpg
Przyjazne linki stworzyłem następującą komendą:
  1. RewriteEngine On
  2. RewriteRule ^/?image-([0-9]+)-([0-9]+).html$ image.php?img=$1/$2.jpg [L]

Teraz, kiedy wchodzimy na "przyjazny link", wszystko jest w porządku.
Jednak wpisując stary link (nieprzyjazny winksmiley.jpg ), dalej można go ujrzeć, co w moim przypadku mija się z celem, gdyż chciałbym, aby wszystkie stare linki zostały przekierowane na nowe (przyjazne).
Próbowałem wdrożyć to przekierowanie na dziesiątki sposobów, niestety - bezskutecznie.

Czy jest na forum osoba, która mogłaby mi pomóc?
Pozdrawiam.
Go to the top of the page
+Quote Post
lukaszgolder
post
Post #2





Grupa: Zarejestrowani
Postów: 141
Pomógł: 17
Dołączył: 2.04.2008
Skąd: z Zabrza

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


W stare zawsze można będzie wejść, ale możesz skorzystać z innej flagi, a mianowicie przekierowywać z tego adresu na inny - R zamiast L.
Go to the top of the page
+Quote Post
Dytczak
post
Post #3





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 8.04.2009

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


Cytat(lukaszgolder @ 12.01.2010, 20:26:54 ) *
W stare zawsze można będzie wejść, ale możesz skorzystać z innej flagi, a mianowicie przekierowywać z tego adresu na inny - R zamiast L.

Dzięki za odpowiedź.
Nie wiem czemu, ale dziwnym trafem po zamianie flagi z L na R wszystko działa na odwrót tj. przekierowuje przyjazne linki na nieprzyjazne.

Nie ważne, w każdym razie z tym problemem sobie poradziłem poprzez funkcję php - header ().

Jednak teraz pojawiła się kolejna przeszkoda - plik .htaccess czyta tylko pierwszą linijkę kodu, która zamienia podstrony z rozszerzeniem .jpg na .html, dalsze pomija (gif->html, png->html, bmp->html):
  1. RewriteEngine On
  2. RewriteRule ^image-([0-9]+)-([0-9]+).html$ image.php?img=$1/$2.jpg
  3. RewriteRule ^image-([0-9]+)-([0-9]+).html$ image.php?img=$1/$2.png
  4. RewriteRule ^image-([0-9]+)-([0-9]+).html$ image.php?img=$1/$2.gif
  5. RewriteRule ^image-([0-9]+)-([0-9]+).html$ image.php?img=$1/$2.bmp

Dodam, że sprawdzałem sytuację zamieniając rozszerzenie jpg na png itd. i zawsze skrypt wykonuje tylko pierwszą linijkę kodu, niezależnie od rozszerzenia.
W czym tym razem leży problem?

Ten post edytował Dytczak 13.01.2010, 06:16:51
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 Aktualny czas: 19.08.2025 - 16:13