Skocz do zawartości
  • Cześć!

    Witaj na forum RootNode - aby pisać u nas musisz się zarejestrować, a następnie zalogować. Posty pisane z kont niezarejestrowanych nie są widoczne publicznie.

Apache/2.4.25 i .htaccess


Mion

Rekomendowane odpowiedzi

Napotkałem niespodziewany porblem z działaniem reguł w .htaccess i modrewritte dla  Apache/2.4.

 

A mianowicie jest sobie reguła:

#Server version: Apache/2.4.25 (Debian)

<FilesMatch "\.(htaccess|htpasswd|ini|phps|json|log|sh)$">
	Order Deny,Allow
	Deny From All
</FilesMatch>

RewriteEngine On
RewriteBase /

RewriteRule ^(?:application|vendor|logs)\b.* - [F,L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !(\.css|\.js|\.png|\.jpg|\.gif|\.svg|\.jpeg|\.ttf|\.eot|\.woff|robots\.txt) [NC]
RewriteRule ^ index.php [QSA,L]

<FilesMatch  ... >  działa w ten sposób, że jeśli wywołujemy plik  żądaniem HTTP /composer.json to powinie być zwrócony status: 403 Forbidden .

RewriteRule ^(?:application|vendor|logs)\b.* - [F,L]

Przy wywołaniu  jakiś katalogu np  /vendor/ flaga - [F,L] powinna zwrócić 403 Forbidden a flaga [L] zakończyć działanie... Podobnie nie powinna być wykonana osttsnia reguła czyli jeśli wywołujemy plik graficzncy, js, css itd...   I tak się dzieje jeśli nie ma ostatniej reguły od  "MVC"  przepisującej wszystko na index RewriteRule .* index.php [PT,QSA,L] 

 

Jeśli jest ta reguła, to nie ma oczekiwanego Forbidden  tylko wywołanie index.php :(

 

Nie rozumiem tego. Dla Apache 2.2 działa zgodnie z oczekiwaniem. 

 

 

 

 

 

Edytowane przez Mion
Odnośnik do komentarza
Udostępnij na innych stronach

  • 4 tygodnie później...

OK, wróciwszy do tematu  doszedłem co jest potrzebne, a mianowicie fizyczny plik *.shtml w katalogu głównym dla konkretnego numeru odpowiedzi np 403.shtml dla odpowiedzi : 403 Forbidden.

 

Jeśli nie ma pliku, to w odpowiedzi jest zwracany status  403 Forbidden  ale i wywoływany ostatnio z reguł .htacces'a w tym wypadku = strona indexbez_pliku_403_shtml.jpg.10be40eaab1b5d5772c46447d604ca5c.jpg

RewriteRule ^ index.php [QSA,L]

 

 

 

I to rozwiązuje mój problem :)

  • Lubię 1
Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Korzystając z forum, wyrażasz zgodę na: Warunki użytkowania, Regulamin, Polityka prywatności.