Problem
Zapewne Ci co mają konto FTP na home.pl zauważyli iż, home domyślnie blokuje jakiekolwiek odwołanie bezpośrednie do katalogu (adres z końcówką / np root/moj_katalog/) jeśli nie posiada on pliku index.php lub html.
Domyślnie na localhost serwer Apache zwraca nam w takim przypadku listę oraz strukturę katalogów wewnątrz danego katalogu na home.pl serwer wyrzuca nam 301.
Jeśli posiadamy jakikolwiek plik .htaccess który jest zagnieżdżony w drugim lub głębszym poziomie wtedy .htaccess zostanie zablokowany jako iż domyślna funkcja 301 zostanie wywkona przy próbie odwołania do katalogu.
Struktura
Przyjmijmy że posiadamy podaną strukturę katalogów na serwerze:
root/
..obrazki/
..projekt/
....zend/
......(.htaccess)
..tmp/
Jeśli odwołamy się do: /projekt/zend/ wtedy nasz .htaccess ukazany w powyższym przykładzie nawet się nie uruchomi jako iż odwołanie przeszło z katalogu /projekt który wyrzuci nam 301 czyli całe zapytanie /projekt/zend/ zwróci również 301
Rozwiązanie
Rozwiązanie jest zarazem proste lecz ciężko było na nie wpaść. Należy przywrócić domyślne zachowanie się katalogów na serwerze home.pl tak aby działał on tak samo jak nasz localhost.
Home.pl oferuje nam taką możliwość. Jedyne co musimy zrobić to stworzyć nowy plik .htaccess w folderze nadrzednym do docelowego w naszym przypadku to /projekt/ czyli nowa strauktura będzie wyglądała tak:
root/
..obrazki/
..projekt/
....(.htaccess)
....zend/
......(.htaccess)
..tmp/
Zawartośc nowo stworzonego pliku jest następująca:
RewriteEngine on
Options +DirList
Dyrektywa Options +DirList powoduje wyświetlenie zawartości katalogu, czyli eliminuje w naszym przypadku odpowiedź 301 z katalogu /projekt/ który po tym zabiegu wywoła plik .htaccess po wywołaniu /projekt/zend/.
Więcej informacji o .htaccess jest dostępna tutaj: http://pomoc.home.pl/bazawiedzy/zagadnienia/302
Listing
Ranga: Administrator serwisu Punktów: 0