![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 535 Pomógł: 27 Dołączył: 3.05.2005 Ostrzeżenie: (20%) ![]() ![]() |
Witam (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Mam problem z modrewrite takiego typu: Chce aby każdy adres beta/{dowolny ciąg znaków bez -} kierowało na beta/blog.php5 - działa to Chce aby wybranie pliku z końców jpg, png, gif lub css omijało te regułę i otwierało - działa to Ale jak zrobić że gdy user wpiszę beta/zdjecia/{dowolny ciąg znaków bez -} otworzy mu ten plik i ominie regułę. A oto kod który stworzyłem i proszę o pomoc z dopisaniem do niego ostatniego przypadku.
|
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 13 Pomógł: 2 Dołączył: 17.09.2005 Ostrzeżenie: (0%) ![]() ![]() |
Witam (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Mam problem z modrewrite takiego typu: Chce aby każdy adres beta/{dowolny ciąg znaków bez -} kierowało na beta/blog.php5 - działa to Chce aby wybranie pliku z końców jpg, png, gif lub css omijało te regułę i otwierało - działa to Ale jak zrobić że gdy user wpiszę beta/zdjecia/{dowolny ciąg znaków bez -} otworzy mu ten plik i ominie regułę. A oto kod który stworzyłem i proszę o pomoc z dopisaniem do niego ostatniego przypadku.
Wybacz, ale Twoja reguła jest dziurawa jak ser szwajcarski, bo jest po prostu niepoprawna składniowo, a działa w miarę OK trochę przez przypadek. Fragment typu [abc] lub [^abc] służy do określania które znaki odpowiednio są/nie są dozwolone (w sensie pasowania do reguły). Adres ze ścieżką typu beta/boooo.piss (lub mnóstwo podobnych, w których rozszerzeniach występują znaki ze zbioru cfgijpns) nie zostanie zamieniony i zapewne skończy się to błędem 404 (not found). Pewnie to niewielki problem, ale w poważniejszych zastosowaniach taka luka może oznaczać kłopoty. Ponieważ poprawienie tej reguły nie jest praktycznie możliwe w jednym kawałku, proponuję utworzyć najpierw reguły dla każdego z wyjątków (może być w jednej), które przekierowują na ten adres, który został wpisany (czyli de facto nie przekierowują, zostawiają wszystko jak jest), a na samym końcu regułę, która cokolwiek (.*) skieruje na blog5.php. Myślę, że może pomóc także wykorzystanie dyrektywy RewriteCond (warunek dla RewriteRule). Pozdr. Wodzu |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 535 Pomógł: 27 Dołączył: 3.05.2005 Ostrzeżenie: (20%) ![]() ![]() |
Mam włączony wildcard błędy 404 mnie nie obchodzą czy mógłbyś mi pomóc jak to zrobić ? Gdyż sam to napisałem i widać nie poszło mi to (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 26.09.2025 - 16:50 |