![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 92 Pomógł: 0 Dołączył: 6.05.2009 Skąd: warszawa Ostrzeżenie: (0%) ![]() ![]() |
zawartosc .htaccess
RewriteEngine on DirectoryIndex index.php RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^([a-zA-Z-_0-9]+)/?$ index.php?do=$1 [L] dziala i adresy http://domena.pl/parametr odczytuje jako http://domena.pl/do=parametr jednak nie zawsze chce aby tak bylo.. chcialabym ale po wpisaniu adresu : http://domena.pl/STRONA nie odczytalo jej jako http://domena.pl/do=STRONA a poprostu weszlo do katalogu STRONA.. czy jest na to sposób ? |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
Tak, jest. Reguły htaccess wykonują się po kolei. Wystarczy więc ową regułkę dać wcześniej. Inna sprawa, że reguły wykonują się w normalnej sytuacji wszystkie po kolei i trzeba dodatkowo dorzucić flagę [L] by, jeśli wzorzec się zgadza, zakończył przetwarzanie htaccess.
-------------------- 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
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 92 Pomógł: 0 Dołączył: 6.05.2009 Skąd: warszawa Ostrzeżenie: (0%) ![]() ![]() |
hmm a jak powinna wygladac taka reguła ktora slowo STRONA nie zamienia na ?do=STRONA
![]() i gdzie dokladnie mam ja zamiescic? tu: RewriteEngine on DirectoryIndex index.php RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d TUTAJ TRESC TEJ REGULY RewriteRule ^([a-zA-Z-_0-9]+)/?$ index.php?do=$1 [L] wpisujac tak RewriteRule ^([a-zA-Z-_0-9]+)/?$ index.php/$1 [L] lub RewriteRule ^([a-zA-Z-_0-9]+)/?$ index.php/STRONA [L] faktycznie nie dostaje bledu, jednak strona nie przekierowuje do katalogu STRONA.. prosze o pomoc.. jak napisac regule ktora po wpisaniu adres: http://domena.pl/KATALOG poprostu przekieruje do tego katalogu i wyswietli jego zawartosc |
|
|
![]()
Post
#4
|
|
![]() Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
Tę dodatkową regułę musisz wcisnąć zaraz po DirectoryIndex, przed wszystkimi innymi regułami oraz oznaczyć ją flagą L. Inaczej nie zadziała prawidłowo. Co do reguły to zależy czy zagłębienia mają być jedno czy wielopoziomowe. Co innego bowiem domena.pl/KATALOG a co innego domena.pl/KATALOG/inny_katalog
-------------------- 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
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 92 Pomógł: 0 Dołączył: 6.05.2009 Skąd: warszawa Ostrzeżenie: (0%) ![]() ![]() |
Domena jest przypisana do katalogu FOLDER, w tym katalogu jest plik .htaccess ktory tworzy mi przyjaze urle. W kalatku FOLDER jest katalog STRONA i chialabym aby zadne reguly sie go nie dotknely. W katalogu strona sa tez inne katalogi i to duzo innych katalogow. Chcialabym aby te regoly z katalogu glownego nie dotykaly zadnych plikow ani katalogow w katalogu STRONA...
|
|
|
![]()
Post
#6
|
|
![]() Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
To w takim wypadku najlepiej będzie wrzucić do tego folderu KATALOG osobny htaccess, który zająłby się przetwarzaniem adresów w nim zawartych. Tak jest to bowiem rozwiązane normalnie, że jeśli odnosisz się do katalogu który ma własny htaccess, to zastępuje on reguły, które normalnie byłyby wykonywane przez htaccess z katalogu wyżej - ma wyższy priorytet.
-------------------- 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
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 92 Pomógł: 0 Dołączył: 6.05.2009 Skąd: warszawa Ostrzeżenie: (0%) ![]() ![]() |
Tak tylko ze ja wogole nie moge wejsc pod ten adres: http://domena.pl/STRONA bo moja aplikacja mysli ze STRONA to jest pierwszy parametr po znaku zapytania w adresie i tak to interpretuje a nie jako wejscie do katalogu. Sprawca jest ta linijka w .htaccess w katalogu glownym: RewriteRule ^([a-zA-Z-_0-9]+)/?$ index.php?do=$1 [L]
Aplikacja mysli ze katalog STRONA to parametr do.. no ale to normalne w koncu tak mowi regula.. Do katalogu STRONA dalam .htacces z taka trescia: RewriteEngine on DirectoryIndex index.php RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d jednak to nic nie daje, nie mam mozliwosci wejscia pod ten adres: http://domena.pl/STRONA bo .htacces z poziomu wyzej blokuje mi ta mozliwosc.. Wystepuje blad: [Error : Błąd] [500] Internal Server Error : Wewnętrzny błąd serwera przypomne ze .htacces z katalogu glownego ma taka tresc: RewriteEngine on DirectoryIndex index.php RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^([a-zA-Z-_0-9]+)/([a-zA-Z-_0-9]+)/?$ index.php?do=$1&kadrowanie=$2 [L] RewriteRule ^([a-zA-Z-_0-9]+)/?$ index.php?do=$1 [L] .. |
|
|
![]()
Post
#8
|
|
![]() Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
Flagi -f i -d pozwalają wyświetlać katalogi i pliki bezpośrednio w oknie przeglądarki. Ale czy masz określone co robić z nimi by nie przepisywało? Nie masz nic poza owymi dwoma regułami, które zresztą dublujesz z głównego htaccess. Jako że serwer znalazł w STRONA htaccess to stara się z niego użyć co może. Ale że nie ma nic konkretnego co by robiło dalej cokolwiek to oleje sprawę i uzna, że główny htaccess będzie wiążący. Musisz "przechwycić" wszystko co przejdzie przez katalog STRONA i coś z tym zrobić, bo inaczej uzna, że ten htaccess zagłębiony tyczy jedynie wyświetlenia bezpośredniego plików i katalogów. Najlepiej stwórz sobie tam jakiś plik php na który przekierujesz te żądania, czyli taki nowy
RewriteRule ^([a-zA-Z-_0-9]+)/?$ index.php?do=$1 [L] Jeśli nie wierzysz to zrób test... Żądania z roota przekieruj na plik wyświetlający jedynie "Obsłużył mnie główny htaccess", a ten wewnątrz niech kieruje na plik wyświetlający "Obsłużył mnie htaccess w /STRONA" i wal adresy różne. Sama zobaczysz który się będzie wykonywał przy jakiej ścieżce ![]() -------------------- 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
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 14:23 |