Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [htaccess] Jak udostępnić pliki powyżej katalogu htdocs?
MacDada
post
Post #1





Grupa: Zarejestrowani
Postów: 47
Pomógł: 1
Dołączył: 24.06.2010
Skąd: Sopot

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


Hej,

struktura plików jest mniej-więcej taka:

MAMP/WebApps/aplikacja/static/__pliki__
MAMP/htdocs/aplikacja/__pliki__

W tym drugim katalogu mam plik .htaccess o takiej m.in. treści:
RewriteRule ^static/(.*)$ ../../aplikacja/static/$1

Chodzi o to, żeby rozdzielić pliki dostępne dla użytkownika od tych, które są dostępne tylko dla aplikacji, więc pliki aplikacji znajdują się powyżej ścieżki root serwera. Jednakże część plików chciałbym, żeby była dostępna bezpośrednio (grafiki, js, itp).

Jak się okazuje, powyższa reguła nie działa, dostaję Bad Request (400). Czy więc za pomocą .htaccess mogę przekierowywać tylko do plików które znajdują się w MAMP/htdocs/ czy jest jakaś opcja, żeby dostać się „wyżej”?

pozdr.
Go to the top of the page
+Quote Post
everth
post
Post #2





Grupa: Zarejestrowani
Postów: 782
Pomógł: 153
Dołączył: 21.07.2010

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


Zastanów się co by się działo gdyby Apache pozwalał zewnętrznym użytkownikom wychodzić poza katalog www (czy jak tam w windowsie jest nazywany root apache). Odpowiedź - bardzo źle by się działo. Jeśli nawet istnieją obejścia żeby dostać się wyżej - nie próbuj, tylko znajdź inny sposób żeby to zrobić w ramach katalogu www.
Go to the top of the page
+Quote Post
MacDada
post
Post #3





Grupa: Zarejestrowani
Postów: 47
Pomógł: 1
Dołączył: 24.06.2010
Skąd: Sopot

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


No cóż, w takim razie będzie po prostu MAMP/htdocs/aplikacja/static/__pliki__.

A co do tego czy można się dostać do katalogów wyżej... tak, można. Przy wykorzystaniu PHP zamiast mod_rewrite.
Go to the top of the page
+Quote Post
erix
post
Post #4





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Cytat
Zastanów się co by się działo gdyby Apache pozwalał zewnętrznym użytkownikom wychodzić poza katalog www (czy jak tam w windowsie jest nazywany root apache).

Sprawdziłeś? Nie sprawdziłeś, więc nie rób mu wody z mózgu. Tak naprawdę, Apache musi mieć dostęp do niektórych plików wyżej. Poza tym, jak sobie wyobrażasz - zgodnie z Twoją teorią - przenoszenie skryptów poza public_html?

Wystarczy jako podstawnik podać ścieżki bezwzględne i zawsze będzie się dało, nie ma co kombinować z PHP.
Go to the top of the page
+Quote Post
everth
post
Post #5





Grupa: Zarejestrowani
Postów: 782
Pomógł: 153
Dołączył: 21.07.2010

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


@erix - zrobi jak będzie chciał. Sprawdzałem - u mnie za cholerę nie da się przełączyć ponad katalog /var/www/ (który apache widzi jako /) za pomocą htaccess, i jest to dla mnie logiczne. Jeśli XAMPP pozwala za pomocą .htaccess poruszać się poza korzeniem to... Zresztą nieważne. Apache jako proces z zasady ma dostęp do plików systemowych, nie oznacza to że użytkownicy łączący się przez port 80 także dostają takie uprawnienia.

W jego propozycji i tak było trochę niekonsekwencji. Chciał wyciągnąć pliki do których dostęp mają mieć jedynie skrypty, dobrze nic nie stoi na przeszkodzie, parser php miał do nich dostęp. Ale on chciał jeszcze przyznać niektórym tym plikom dostęp bezpośredni poprzez http (jeśli dobrze rozumiem). No to ja się pytam gdzie tu logika? I tak zeszło na jedyne normalne rozwiązanie czyli include w index.php
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 10.06.2026 - 08:51