Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [.htaccess] Zmiana linku
3502274
post 21.07.2008, 20:11:34
Post #1





Grupa: Zarejestrowani
Postów: 49
Pomógł: 0
Dołączył: 30.04.2008

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


Witam,

stworzyłem galerie która dodaje obrazki do katalogu:

- http://www.xxx.pl/yyy/galeria/photoalbum/a...2/pgomin_20.jpg

natomiast chciał bym pominąć w linku do tych zdjęć znaczniki /yyy/ tak by link:

- http://www.xxx.pl/galeria/photoalbum/album_2/pgomin_20.jpg

pokazywał to samo co yyy, a natomiast yyy przekierowywał od razu do tego 'bez' yyy.

Niestety przewyższyło to moje umiejętności w dziedzinie .htaccess, a nie ciężko tam o błąd. Czy byłby ktoś w stanie napisać to dla mnie? Dodam iż nie mam opcji obejścia tego drogą ustawienia inaczej katalogów... i jedyne możliwe rozwiązanie to właśnie pominięcie tego w adresie.
Go to the top of the page
+Quote Post
Piotrwusek
post 21.07.2008, 21:07:44
Post #2





Grupa: Zarejestrowani
Postów: 399
Pomógł: 7
Dołączył: 11.06.2007
Skąd: Poznan

Ostrzeżenie: (20%)
X----


Kod
RewriteRule ^galeria/photoalbum/album_2/pgomin_20.jpg$ yyy/galeria/photoalbum/album_2/pgomin_20.jpg



Próbowałeś tak?
Go to the top of the page
+Quote Post
3502274
post 21.07.2008, 21:55:08
Post #3





Grupa: Zarejestrowani
Postów: 49
Pomógł: 0
Dołączył: 30.04.2008

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


Działa to rozwiązanie... testowałem teraz czy będzie zgodne jeśli nadam po prostu:

Kod
/[a-zA-Z\-\_]/


jako dowolny ciąg znaków i już w takiej postaci niestety nie chce działać. Gdzie mogę robić błąd?

Kod
RewriteRule ^galeria/[a-zA-Z\-\_]/[a-zA-Z\-\_]/[a-zA-Z\-\_]/.{jpg}$ pgo/galeria/[a-zA-Z\-\_]/[a-zA-Z\-\_]/[a-zA-Z\-\_]/.{jpg}


Ten post edytował 3502274 21.07.2008, 21:55:31
Go to the top of the page
+Quote Post
Piotrwusek
post 21.07.2008, 22:13:26
Post #4





Grupa: Zarejestrowani
Postów: 399
Pomógł: 7
Dołączył: 11.06.2007
Skąd: Poznan

Ostrzeżenie: (20%)
X----


nie tak
Kod
RewriteRule ^galeria/[a-zA-Z\-\_]/[a-zA-Z\-\_]/[a-zA-Z\-\_]/.{jpg}$ pgo/galeria/[a-zA-Z\-\_]/[a-zA-Z\-\_]/[a-zA-Z\-\_]/.{jpg}


jak już


ale tego nie jestem w 100% pewien
Kod
RewriteRule ^galeria/[a-zA-Z\-\_]/[a-zA-Z\-\_]/[a-zA-Z\-\_]/.{jpg}$ pgo/galeria/$1/$2/$3/.{jpg}




--------------- edit
jeszcze

ja bym dal zamiast tego

Kod
[a-zA-Z\-\_]


to

Kod
[^*]


będzie to uwzględniało prawie wszystko

Ten post edytował Piotrwusek 21.07.2008, 22:15:44
Go to the top of the page
+Quote Post
3502274
post 21.07.2008, 22:37:50
Post #5





Grupa: Zarejestrowani
Postów: 49
Pomógł: 0
Dołączył: 30.04.2008

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


Niestety nie działa to...

Kod
RewriteRule ^galeria/[^*]/[^*]/[^*]/.{jpg}$ pgo/galeria/$1/$2/$3/.{jpg}


Czy przypadkiem przed kropką nie trzeba też dać jakiejś zmiennej? Testowałem podobnie jak reszta lecz też nie wychodzi.

Ten post edytował 3502274 21.07.2008, 22:38:56
Go to the top of the page
+Quote Post
kwiateusz
post 21.07.2008, 22:52:24
Post #6


Admin Techniczny


Grupa: Administratorzy
Postów: 2 071
Pomógł: 93
Dołączył: 5.07.2005
Skąd: Olsztyn




Kod
RewriteRule ^galeria/(.+)/(.+)/(.+)/\.jpg$ pgo/galeria/$1/$2/$3/.jpg


. <- dowolny znak poza enterem
+ dopasowuje 1 lub wiecej razy

z czym zawsze mam problemy z ^ (poczatek ciagu) i czy rewrite zaczynac / jak i sciezke na ktora sie rewrituje, ale z grubsza to tak ma wygladac
nawiasy okragle bo kwadratowych nie lapie jako $1
Go to the top of the page
+Quote Post
3502274
post 21.07.2008, 22:58:24
Post #7





Grupa: Zarejestrowani
Postów: 49
Pomógł: 0
Dołączył: 30.04.2008

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


uff też nic tongue.gif

Ogólnie rzecz biorąc to działało:
Kod
RewriteRule ^galeria/photoalbum/album_2/pgomin_20.jpg$ pgo/galeria/photoalbum/album_2/pgomin_20.jpg


Gdy wywoływałem:
http://www.xxx.net/galeria/photoalbum/album_2/pgomin_20.jpg

dostawałem obrazek... natomiast teraz gdy używam tego:
Kod
RewriteRule ^galeria/(.+)/(.+)/(.+)/\.jpg$ pgo/galeria/$1/$2/$3/.jpg


pojawia się

Cytat
404 Not Found
The request /galeria/photoalbum/album_2/pgomin_20.jpg was not found on this server.
Go to the top of the page
+Quote Post
kwiateusz
post 21.07.2008, 23:07:12
Post #8


Admin Techniczny


Grupa: Administratorzy
Postów: 2 071
Pomógł: 93
Dołączył: 5.07.2005
Skąd: Olsztyn




aj wzorowalem sie na przykladzie poprzednich postow a tu widże gafe btw komunikat tez jakis dziwny...

Kod
RewriteRule ^galeria/(.+)/(.+)/(.+)\.jpg$ pgo/galeria/$1/$2/$3.jpg
Go to the top of the page
+Quote Post
3502274
post 21.07.2008, 23:20:22
Post #9





Grupa: Zarejestrowani
Postów: 49
Pomógł: 0
Dołączył: 30.04.2008

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


Ok teraz już działa, smile.gif a więc pierwsza część zagadki rozwikłana... zdjęcia są dostępne pod adresem bez 'pgo', a chciałbym by wchodząc przez 'pgo' automatycznie zmieniało link na ten nowy bez 'pgo'... w przypadku domen wywoływało się to prostą funkcją:

Kod
RewriteCond %{HTTP_HOST} ^projektgryok.home.pl [NC]
RewriteRule ^(.*)$ http://www.gryok.net/ [r=301,NC]


Natomiast jak dopisać tam te wszystkie zmienne?

Za rozwiązanie problemu kwiateusz ogromne podziękowania jak i Piotrwusek!
Go to the top of the page
+Quote Post
kwiateusz
post 21.07.2008, 23:26:44
Post #10


Admin Techniczny


Grupa: Administratorzy
Postów: 2 071
Pomógł: 93
Dołączył: 5.07.2005
Skąd: Olsztyn




Kod
RewriteCond %{REQUEST_URI} pgo/galeria.* [NC]
RewriteRule pgo/galeria/(.+)/(.+)/(.+)\.jpg$ galeria/$1/$2/$3.jpg[r=301,NC]


nie dam glowy czy zadziala, pisane z palca ( i ksiazeczki)
Go to the top of the page
+Quote Post
3502274
post 21.07.2008, 23:31:07
Post #11





Grupa: Zarejestrowani
Postów: 49
Pomógł: 0
Dołączył: 30.04.2008

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


Brak jakichkolwiek efektów... obrazek jest dostępny pod 2 linkami...

/Edit:
Mała wada pierwszego skryptu...

jeśli obrazek nazywa się:
pgomin.jpg jest ok!
natomiast miniaturki przybierają nazwę:
_mini_1_pgomin.jpg i wtedy bez /pgo/ nie wyświetlają się...

domyślam się że to (.+) jest za to odpowiedzialny bo nie rozumie '_'... znajdziemy jakieś proste wyjście czy będę musiał przerobić lekko galerię?

Ten post edytował 3502274 21.07.2008, 23:36:30
Go to the top of the page
+Quote Post
Piotrwusek
post 22.07.2008, 06:43:07
Post #12





Grupa: Zarejestrowani
Postów: 399
Pomógł: 7
Dołączył: 11.06.2007
Skąd: Poznan

Ostrzeżenie: (20%)
X----


Kod
RewriteRule ^galeria/([^*]+)/([^*]+)/([^*]+).jpg$ pgo/galeria/$1/$2/$3.jpg [L]


u mnie działa
Go to the top of the page
+Quote Post
3502274
post 22.07.2008, 11:46:34
Post #13





Grupa: Zarejestrowani
Postów: 49
Pomógł: 0
Dołączył: 30.04.2008

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


Piotrwusek podany przez Ciebie kod działa analogicznie jak ten kwieteusza... natomiast wciąż nie poprawia efektu z nazwą zaczynającą się na '_'.
Go to the top of the page
+Quote Post
Piotrwusek
post 22.07.2008, 16:06:42
Post #14





Grupa: Zarejestrowani
Postów: 399
Pomógł: 7
Dołączył: 11.06.2007
Skąd: Poznan

Ostrzeżenie: (20%)
X----


Ja mam taki link


http://mojewarzywa.pl/article/343/_salatka_z_feta_marzeny

Działa exclamation.gif


a jest ustawione tak jak Ci podałem!
Go to the top of the page
+Quote Post
Maxik
post 22.07.2008, 16:16:05
Post #15





Grupa: Zarejestrowani
Postów: 726
Pomógł: 129
Dołączył: 10.01.2008
Skąd: Gdańsk

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


([^-]+) sprawdź coś takiego i wykomentuj kropkę przed jpg \.jpg . Reasumując:
Kod
RewriteRule ^galeria/([^-]+)/([^-]+)/([^-]+)\.jpg$ pgo/galeria/$1/$2/$3.jpg [L,NC,NS]


Powinno działać


--------------------
Pomogłem? Kliknij przycisk Pomógł pod pomocnym Ci postem.
http://maxik.me/
Go to the top of the page
+Quote Post
3502274
post 24.07.2008, 15:04:56
Post #16





Grupa: Zarejestrowani
Postów: 49
Pomógł: 0
Dołączył: 30.04.2008

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


Cytat(Maxik @ 22.07.2008, 17:16:05 ) *
([^-]+) sprawdź coś takiego i wykomentuj kropkę przed jpg \.jpg . Reasumując:
Kod
RewriteRule ^galeria/([^-]+)/([^-]+)/([^-]+)\.jpg$ pgo/galeria/$1/$2/$3.jpg [L,NC,NS]


Powinno działać


Powinno lecz niestety tak nie jest... wciąż obrazki się nie wyświetlają... Ten problem można obejść inaczej, zmienię tylko założenia galerii by nie dawała _ na początku nazwy miniaturek.

A może ktoś spróbuję ułożyć kod tak by spełniał to założenie:


Cytat
Ok teraz już działa, smile.gif a więc pierwsza część zagadki rozwikłana... zdjęcia są dostępne pod adresem bez 'pgo', a chciałbym by wchodząc przez 'pgo' automatycznie zmieniało link na ten nowy bez 'pgo'... w przypadku domen wywoływało się to prostą funkcją:

KodRewriteCond %{HTTP_HOST} ^projektgryok.home.pl [NC]
RewriteRule ^(.*)$ http://www.gryok.net/ [r=301,NC]

Natomiast jak dopisać tam te wszystkie zmienne?

Za rozwiązanie problemu kwiateusz ogromne podziękowania jak i Piotrwusek!
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: 14.08.2025 - 10:31