Skocz do zawartości
Mion

Apache/2.4.25 i .htaccess

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

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Wrzuciłem do siebie ten .htaccess.

 

/.htaccess < forbidden

/index.html < ok

/composer.json < forbidden

/cmposer.json2 < ok

/vendor/* < forbidden

 

Jeśli nie tak ma działać to może napisz co dokładnie chcesz osiągnąć, trochę nie bardzo rozumiem Twój opis :)

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Sprawdzałeś na

Apache/2.4.25 

?  

 

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Przy czasie wrócę do tematu...

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach
2 godziny temu, Mion napisał:

Przy czasie wrócę do tematu...

 

@SomeGuy poświęca czas i stara się pomóc, w odpowiedzi otrzymuje "przy czasie" pytający wróci do tematu, ciekawe podejście....

  • Zaskoczony 1

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach
Teraz, gb1 napisał:

ciekawe podejście....

 Napisano 20 Październik  > Potencjalna pomoc po 7 dniach, wiec nie rzucę wszystkiego, co robię by teraz dłubać w .htaccess i Apaczu. 

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

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

Udostępnij tego posta


Odnośnik do posta
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ę


  • Przeglądający   0 użytkowników

    Brak zarejestrowanych użytkowników, przeglądających tę stronę.

×