Mod rewrite, wylaczyc odwolania do.php,przekierowac wszystko poza jpg,css do indexu |
Mod rewrite, wylaczyc odwolania do.php,przekierowac wszystko poza jpg,css do indexu |
25.12.2011, 12:29:50
Post
#1
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 25.12.2011 Ostrzeżenie: (0%) |
Witam! Nie mogę sobie poradzić z mod_rewrite w serwisie opartym na MVC który próbuję napisać.
chciałbym, żeby .htaccess robił 3 rzeczy:
Niestety wszelkie moje próby osiągnięcia takiego efektu kończą się albo niczym, albo błędem 500; a tutoriali mod_rewrite czytałem chyba z 10. Np. punkt 1szy wyobrażałem sobie tak: Kod RewriteEngine On RewriteRule ^.$ index.php$1 [L] Jednakże kod ten, nie wywołuje żadnego efektu. Byłbym bardzo wdzięczny za pomoc w tej kwestii. |
|
|
25.12.2011, 13:15:59
Post
#2
|
|
Grupa: Zarejestrowani Postów: 673 Pomógł: 106 Dołączył: 31.12.2008 Ostrzeżenie: (0%) |
Kod ^.$ robi tyle co: ^ - początek ciągu . - jeden dowolny znak $ koniec ciągu rozwiązanie: zamiast . użyj .* co do punktu 2. poczytaj o RewriteCond (+ REQUEST_FILENAME) punkt 3. rozwiąże się wraz z punktem 2. -------------------- |
|
|
25.12.2011, 13:31:09
Post
#3
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 25.12.2011 Ostrzeżenie: (0%) |
Hm,
RewriteRule ^(.*)/$ index.php$1 [L,QSA] czy RewriteRule ^(.*)/$ index.php/$1 [L,QSA] też nie pomaga; co do 3 jest opcja, żeby zrobić to tak: we wszystkich folderach, do których chcę zakazać dostępu utwórzyc pliki .htaccess i naklepać tam: RewriteEngine Off Deny From All. brzmi to rozsądnie? include powinno działać mimo to? |
|
|
25.12.2011, 14:05:12
Post
#4
|
|
Grupa: Zarejestrowani Postów: 532 Pomógł: 24 Dołączył: 15.04.2011 Skąd: Kalisz Ostrzeżenie: (0%) |
Zamiast:
RewriteRule ^(.*)/$ index.php$1 [L,QSA] zrób: RewriteRule ^(.*)$ index.php/$1 [QSA,L] |
|
|
25.12.2011, 18:11:42
Post
#5
|
|
Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D |
Ale zapomniano dodać, że jeszcze dodatkowo dobrze sobie zrobić katalogi grupujące to, do czego chcesz dać dostęp bezpośredni. Dobrym pomysłem jest zrobić katalog typu "media" i w nim podkatalogi "css", "js" i inne. W htaccess definiujesz wtedy , że gdy istnieje w danym katalogu realny plik lub folder, to ma z niego odczytywać zamiast przekierować do indexu. Dobrym przykładem jest tu domyślny htaccess FW Kohana, który wygląda tak:
co można przetłumaczyć: jeśli wywołany plik nie jest plikiem lub katalogiem na serwerze, to przepisz adres na index.php/ścieżka i puść go do przetwarzania. -------------------- Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
|
|
|
25.12.2011, 18:44:22
Post
#6
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 25.12.2011 Ostrzeżenie: (0%) |
adbacz, wciąż błąd 404 : (
thek, Kod RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule .* index.php/$0 [PT,L] działa, zaś samo Kod RewriteRule .* index.php/$0 [PT,L] daje błąd 500. Chciałbym tę drugą opcję, gdyż wolałbym, żeby użytkownik miał dostęp tylko i wyłącznie do jednego pliku php. Pozdrawiam i dzięki |
|
|
25.12.2011, 19:17:31
Post
#7
|
|
Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D |
Nie działa tak samo. Zwróć uwagę na warunki, bo to wyrażenie warunkowe. Bez niego http://www.domena.pl/plik.css zostanie wywołany jako http://www.domena.pl/index.php/plik.css a chyba nie o to chodzi. Dlatego taki warunek... "Przewalaj" na plik index.php tylko nie istniejące pliki i foldery. W ten sposób unikasz choćby przewalania plików obrazów, które teoretycznie także mogą być przez plik index.php przerzucane.
-------------------- Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
|
|
|
25.12.2011, 22:23:29
Post
#8
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 25.12.2011 Ostrzeżenie: (0%) |
Chodzi. Obrazy i wszystko wrzucę do jakiegoś webroot/media folderu i warunek będzie taki, ze jeśli to nie ten folder, to all do indexu.
Nie chcę, żeby userzy mieli dostęp do jakichkolwiek php/ |
|
|
27.12.2011, 08:40:41
Post
#9
|
|
Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D |
To wrzuć je do jednego folderu czy coś i ustaw mu brak dostępu. Znowu odsyłam do domyślnego htaccess Kohany
-------------------- Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
|
|
|
27.12.2011, 14:36:58
Post
#10
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 25.12.2011 Ostrzeżenie: (0%) |
Dobra, śmiga, wielkie dzięki
|
|
|
Wersja Lo-Fi | Aktualny czas: 10.06.2024 - 16:24 |