W niektórych przypadkach przed zmianą wersji PHP na 8 lub wyższą konieczna jest zmiana wpisów w plikach .htaccess. W ramach środowiska IdeaWebServer najwyższą obsługiwaną wersją interpretera PHP jest niewspierana już wersja 7.4.
Jeśli chcesz korzystać z aktualnych wersji interpretera PHP 8.0, 8.1 lub 8.2, skontaktuj się z nami, by zmienić środowisko serwera na nowsze środowisko Apache. Przed zmianą upewnij się jednak, że wpisy w plikach .htaccess są zgodne z dokumentacją, w przeciwnym razie na Twoich witrynach mogą pojawić się błędy.
-
Deny
Jeśli w pliku .htaccess znajdziesz dyrektywę ‘Deny’, zweryfikuj, czy ma ona być wykonywana. To dyrektywa, która nie była obsługiwana w ramach IdeaWebServer, więc nie wprowadzała żadnych zmian. W obrębie środowiska Apache zacznie działać, upewnij się więc, że to poprawny wpis.
Przykład:Order Deny,Allow
Deny from all
Allow from example.org -
Filesmatch
Wpis ‘Filesmatch’ w pliku .htacces nie był obsługiwany w ramach IdeaWebServer. Wszystkie tego typu wpisy zaczną działać w ramach środowiska Apache, upewnij się więc, że są prawidłowe i mają być wykonywane.
Przykład:
<FilesMatch "\.tpl$">
Deny from all
</FilesMatch> -
Order
Jeśli w pliku .htaccess znajdują się wpisy ‘Order’ zweryfikuj, czy ich składnia jest poprawna. Pomyłki w obrębie tego wpisu mogą skutkować błędem 500 na stronie po zmianie środowiska na Apache. Zwróć uwagę na spację.
Przykład błędnego wpisu:
Order allow, deny
Poprawny wpis:
Order allow,deny
-
Options
Nazwy opcji używane w ramach IdeaWebServer przez dyrektywę ‘Options’ nie są wspierane w środowisku Apache. Jeśli nie naniesiesz zmian we wpisach lub ich nie usuniesz, na Twojej stronie może pojawić się błąd 500.
Wpisy niewspierane w środowisku Apache:
AllowDotFiles DirList NoLog All SymLinksIfOwnerMatch
-
AddType
Wpisy ‘AddType’ nie były wspierane w ramach IdeaWebServer, natomiast w środowisku Apache zaczną działać. Zweryfikuj, czy są one prawidłowe i powinny być wykonywane.
Przykład:
<FilesMatch "\.php$">
SetHandler application/x-httpd-php
</FilesMatch> -
RedirectMatch
Jeśli w pliku .htaccess znajdziesz dyrektywę ‘RedirectMatch’, zweryfikuj jej poprawność i upewnij się, że to prawidłowy wpis. Nie był on wspierany w środowisku IdeaWebServer, zacznie natomiast działać po przełączeniu na Apache.
Przykład:
RedirectMatch 301 ^/(.*).htm$ https://www.pomoc.home.pl/$1.html
-
Location
Dyrektywa ‘Location’ nie jest wspierana przez środowisko Apache. Jeśli w pliku .htaccess odnajdziesz taki wpis, zamień go na:
<FilesMatch "\.php$">
SetEnv CGI_HANDLER phpx
</FilesMatch>W miejscu ‘x’ zawierając wersję PHP, jaka ma zostać ustawiona.
Dla przykładu, jeśli obecnie wpis w pliku wygląda następująco:
:Location .php use php74
Zamień go na:
<FilesMatch "\.php$"> SetEnv CGI_HANDLER php74 </FilesMatch>
-
Require
W ramach środowiska IdeaWebServer dyrektywa ‘Require’ działała wyłącznie w czterech wariantach:
Require user Require users Require group Require groups
W ramach Apache, poza wymienionymi, zaczną działać także:
Require ip Require all Require env
Sprawdź, czy w Twoim pliku .htaccess istnieją takie wpisy i upewnij się, czy mają być wykonywane.
-
Use
Dyrektywa ‘Use’ nie jest wspierana w środowisku Apache. Jeśli znajdziesz taki wpis w swoim pliku .htaccess, usuń go.
Uwaga! Pamiętaj, by usunąć cały kontekst wpisu Use. Dla przykładu, jeśli wpis brzmi następująco:
:Location PHP Use php74
Usuń obie linijki lub zamień dyrektywę na <FilesMatch wzkazaną w punkcie 2.
-
Access
Wpis ‘Access’ nie jest wspierany w środowisku Apache. Jeśli znajdziesz w pliku .htaccess taki wpis, zamień go na dyrektywę ‘Require’ opisywaną w punkcie 8.
Access allow all valid-user access allow 127.0.0.1
-
ForceType
‘ForceType’ to dyrektywa, która nie była wspierana przez środowisko IdeaWebServer. Przed przełączeniem na środowisko Apache, które ją wspiera, zweryfikuj poprawność wpisu i upewnij się, czy ma być wykonywany.
Przykład:
ForceType application/x-httpd-php
-
SetMime
Dyrektywa ‘SetMime’ nie jest wspierana przez środowisko Apache. Jeśli w pliku .htaccess znajdziesz taki wpis, zamień go na dyrektywę ‘FilesMatch’.
:Location /*.docs SetMime application/msword :Location
Zamień na:
<FilesMatch ".*\.docs"> ForceType application/msword </FilesMatch>
-
Expires
‘Exipres’ jest dyrektywą obsługiwaną wyłącznie przez IdeaWebServer. W ramach środowiska Apache może zostać zastąpiona wpisem ‘ExpiresByType’. Dla przykładu:
:Location *.gif Expires A2592000
Możesz zamienić na
ExpiresByType image/gif A2592000
-
ErrorDoc
Dyrektywa ‘ErrorDoc’ nie jest obsługiwana w środowisku Apache, ma jednak swój odpowiednik w postaci ‘ErrorDocument’. Wpisy w pliku .htaccess możesz zamienić zgodnie z przykładem:
ErrorDoc 404 /errors/bad_urls.php na: ErrorDocument 404 /errors/bad_urls.php
-
SetEnvIf
‘SetEnvIf’ to dyrektywa niedziałająca w środowisku IdeaWebServer. Jest obsługiwana w ramach Apache, więc przed przełączeniem zweryfikuj poprawność wpisów i upewnij się, że powinny być wykonywane.
Przykład:
SetEnvIfNoCase User-Agent Robot is_a_robot
-
AllowOverride
To wpis, który nie wprowadza żadnych zmian w środowisku IdeaWebServer, natomiast po przełączeniu na Apache może skutkować błędem 500. Jeśli w pliku .htaccess znajdziesz tę dyrektywę, usuń ją przed przełączeniem środowisk.
Przykład:
AllowOverride All
-
LimitExcept
Dyrektywa ‘LimitExcept’ nie była obsługiwana przez IdeaWebServer. Po przełączeniu na Apache zacznie działać, zweryfikuj więc poprawność wpisu i upewnij się, że powinien być wykonywany.
Przykład:
<LimitExcept POST GET>