![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 4 298 Pomógł: 447 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
Kod RewriteEngine On RewriteBase / RewriteRule ^(css)-([a-z0-9_]+)-([a-z0-9.]+)$ /files/user/$2/css/$3 w html dam Kod <link rel="stylesheet" href="css-'.$nazwa.'-style.css" type="text/css" /> i css jest wczytywany bez problemu, jednak... nie działają obrazki które są w tym samym katalogu co plik css. -------------------- Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta). |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 890 Pomógł: 339 Dołączył: 14.12.2006 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Nie dziwię się
![]() Nie linkuj do obrazków jako url('obrazek.gif'), tylko url('/files/user/{nazwa_stylu}/css/obrazek.gif'). A to dlatego, że przeglądarka dostaje adres arkusza stylów w ten sposób, jakby był on w katalogu głównym, a nie w /files/user... - to serwer zapewnia, że wczytuje się plik akurat z tej lokalizacji. A ponieważ adresy obrazków podaje się relatywnie do arkusza CSS, to musi być tak, jak Ci napisałem powyżej ![]() |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 4 298 Pomógł: 447 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
a nie mogę tego ustawić url('obrazek.gif') ? I jednocześnie zamaskować jakoś RR? Nie mam za bardzo możliwości zmiany w plikach css, interesuje mnie tylko zamaskowanie adresu do nich
-------------------- Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta). |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 1 590 Pomógł: 185 Dołączył: 19.04.2006 Skąd: Gdańsk Ostrzeżenie: (0%) ![]() ![]() |
Cytat url('/files/user/{nazwa_stylu}/css/obrazek.gif') - mało praktyczne. Jak użytkownik dodaje obrazek do kategorii to ma mieć- identycznie jak definiuje sobie style dla tej kategorii. Zainteresuj się znacznikiem <base> i dla każdego URL ustawiaj ścieżkę, skąd mają być pobierane obrazki oraz skrypty JS etc. |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 4 298 Pomógł: 447 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
Kod pliki/user/stefan/css to katalog oficjalny chciałbym to zmienić na: Kod css-stefan-style.css dlatego wpisuję: Kod RewriteRule ^(css)-([a-z0-9_]+)-([a-z0-9.]+)$ /pliki/user/$2/css/$3 Kod <base href="css-'sefan'"> Kod domek/index.php w tym katalogu odwoluję się do plików css usera aby to zrobić musiałem wpisywać Kod ../pliki/user/stefan/css/style.css teraz mam Kod css-stefan-style.css I jest dobrze, ale.. bez obrazków, ustawienie base nic nie daje, a zdefiniować plików graficznych nie potrafię... -------------------- Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta). |
|
|
![]()
Post
#6
|
|
![]() Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Cytat I jest dobrze, ale.. bez obrazków, ustawienie base nic nie daje, a zdefiniować plików graficznych nie potrafię... Kod RewriteCond %{REQUEST_FILENAME} !-f Przed regułką. Ale z tego, co widzę, to i tak będziesz musiał osobną regułkę dla obrazków napisać, gdyż przeglądarka nie wie, gdzie to wszystko jest trzymane. -------------------- ![]() ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW! |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 1 890 Pomógł: 339 Dołączył: 14.12.2006 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Ale z tego, co widzę, to i tak będziesz musiał osobną regułkę dla obrazków napisać, gdyż przeglądarka nie wie, gdzie to wszystko jest trzymane. Będzie musiał napisać po jednej regułce dla każdego pliku CSS (są one trzymane z obrazkami w różnych katalogach). A z tego wynika, że i tak nie obejdzie się bez edycji plików CSS. |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 4 298 Pomógł: 447 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
Czyli nie można tego ustawić... heh nie mogę zmienić zawartości plików css, niezłe ograniczenia :/ Nie ma innego sposobu zamaskowania ścieżki do pliku css? Pomijając sesję?
Ten post edytował !*! 17.01.2009, 19:07:18 -------------------- Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta). |
|
|
![]()
Post
#9
|
|
![]() Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
A tak spytam, po co w ogóle maskować...?
Cytat Pomijając sesję? Trochę nie mogę sobie tego uzmysłowić... ;/ Ale tak, czy tak, skoro w plikach CSS masz ścieżki dostosowane do starego schematu i nie możesz ich zmieniać, to jaki jest sens całego przedsięwzięcia z mod_rewrite...? Serwer wie, że przekierowywujesz, przeglądarka nie. -------------------- ![]() ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW! |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 4 298 Pomógł: 447 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
Dostałem w spadku serwis do "naprawy", niestety poprzedni admin nie był zbyt roztargnięty i dość ważne pliki umieścił w formie dość jawnej... Choćby dla tego chciałbym to jakoś zamaskować, aby nie była widoczna ścieżka do katalogów usera np. "../pliki/user/stefan/hasla/css" itp. nie wiem czemu ale jakoś nie ufam
Kod ../ w źródle strony... Taki jakiś mój nawyk :/ -------------------- Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta). |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 1 890 Pomógł: 339 Dołączył: 14.12.2006 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Skoro dostałeś ten serwis do poprawy, to niby czemu nie możesz edytować CSS? Robisz tak:
w CSS: Kod url('img.gif') -> url('nazwa_stylu-img.gif') w .htaccess: Kod RewriteRule ^(styl1|styl2|styl3|inne_style)-([a-zA-Z0-9_])\.(gif|jpg|png\inne_rozszerzenia)$ pliki/user/$1/obrazki/$2.$3 (zależnie jaką masz ścieżkę do obrazków)Robisz coś w tym stylu i masz po kłopocie. Zresztą, jeśli masz jakieś pliki niefortunnie umieszczone w ogólnodostępnym miejscu, to zawsze możesz odciąć do nich dostęp po wpisanie adresu do przeglądarki poprzez proste regułki .htaccess -> Protecting a single file Ten post edytował sowiq 18.01.2009, 12:37:05 |
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 4 298 Pomógł: 447 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
Widzisz, bo to nie ja edytuje te pliki, ogólnie jest ok 340k ludzi, którzy zmieniają je praktycznie codziennie... Są przyzwyczajeni to wpisywania "url(obrazek.png)" więc sam rozumiesz... Mógłbym pozamieniać ręcznie adresy, tylko że to nie będzie kompatybilne wstecz, oraz wprowadzi mega zamieszanie... Liczyłem na to że reguły pomogą mi to jakoś rozwiązać, z zachowaniem tych samych adresów w plikach css.
-------------------- Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta). |
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 1 890 Pomógł: 339 Dołączył: 14.12.2006 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Musisz zrozumieć jedno. Jeśli dajesz w pliku CSS url('obrazek.gif'), a plik CSS wywołujesz przez ścieżkę /files/css/cos_innego, to przeglądarka będzie szukała obrazka w katalogu, z którego wywołany został plik CSS (ścieżki obrazków są relatywne do pliku CSS). A skoro stosujesz mod_rewrite, to przeglądarka widzi plik CSS, jakby był wczytywany z głównego katalogu. Tam też będzie szukała plików z obrazkami.
Masz co prawda jeszcze jedno, inne wyjście. Robisz coś w stylu: Kod RewriteRule ^([a-zA-Z0-9_]+)\.(gif|jpg|png)$ obrazki.php?id=$1.$2 W pliku obrazki.php robisz
Oczywiście powyższy kod trzeba zabezpieczyć przed ścieżkami w stylu ../../../ 2. wyjście - Redirect 302 w pliku php. Nie wiem które lepsze - zależy od ruchu na stronie. |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 8.07.2025 - 07:00 |