Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [htaccess/rewrite] Zablokowanie dostępu do plików
Forum PHP.pl > Forum > Serwery WWW > Apache
starach
Kod
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule \.(htaccess|htpasswd|ini|phps|php|fla|psd|log|sh)$ index.php?path=error404

RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?path=$1
Najpierw próbowałem zablokować wszystkie pliki których nie ma w katalogu ~/assets, ale nie wychodziło. Potem kombinowałem z FilesMatch też nie szło... Teraz to co też mi działać nie chce... Jak ja mam zablokować dostęp do wszystkich plików oprócz dozwolonych zasobów... ? :|
erix
Cytat
Potem kombinowałem z FilesMatch też nie szło... Teraz to co też mi działać nie chce... Jak ja mam zablokować dostęp do wszystkich plików oprócz dozwolonych zasobów... ? :|

Pokaż jak kombinowałeś.
starach
Wyrażenie regularne do FilesMatch było w zasadzie takie samo jak to pierwsze tutaj.

Wszystkie zasoby są w katalogu assets więc sprawdzałem czy
Kod
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule (?!assets.+)$ index.php?path=error404
I to działało z drobnym wyjątkiem... o ile się nie mylę RewriteCond ma tutaj upewnić się, że żądany przez klienta zasób jest Plikiem LUB Katalogiem. Jednak mimo tego że na przykład nie mam katalogu home/ czy contact-us/ to zamiast przekazać mi to żądanie do index.php?path=$1 co miała zapewniać druga reguła, przekierowuje mnie on na generowaną stronę z błędem tak jakby uznał że domena.com/home/ jest żądaniem katalogu... WTF?
erix
Listing or didn't happen.

Pokaż kod, na słowo nie wierzę.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.