Skocz do zawartości

EasyPHP i niedziałający mod_rewrite


Ivellios

Rekomendowane odpowiedzi

Postanowiłem wziąć się za unowocześnienie kilku moich starych stron internetowych i przebudowanie ich tak, by działały co najmniej pod PHP 7.1 a najlepiej też i 8.1. W tym celu, żeby nie robić tego "na produkcji" ;) pobrałem EasyPHP. Wszystko niby działa jak powinno, strony udało mi się dostosować póki co do 7.1, niby wszystko super, tylko napotkałem problem w postaci niedziałającego bądź wybiórczo działającego mod_rewrite. Wybiórczo, gdyż działa tylko jeśli zawartość htaccess sprowadza się do prostego przekierowania:


RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://strona.pl/$1 [R,L]

 

Natomiast w przypadku czegoś takiego odmawia współpracy (tu wstawiam fragment dużo obszerniejszego htaccess):


#Header set Access-Control-Allow-Origin "*"
AddType application/x-httpd-php54 .html
AddType application/x-httpd-php .html .htm
AddType text/html .html .htm
AddType text/vtt .vtt
AddType text/javascript .js
AddDefaultCharset UTF-8
RewriteEngine On
#RewriteCond %{SERVER_PORT} 80
RewriteBase /
# usuwamy gowna dodawane przez facebooka
RewriteCond %{QUERY_STRING} "fbclid=" [NC]
RewriteRule (.*) /$1? [R=301,L]
# usuwamy identyfikatory sesji
RewriteCond %{QUERY_STRING} "sid=" [NC]
RewriteRule (.*) /$1? [R=301,L]
RewriteCond %{HTTP_HOST} ^(www\.)?strona\.ovh [NC]
RewriteRule (.*) https://www.strona.pl/$1 [R=301,L]
# przekierowujemy na www.
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteRule ^youtube_retransmisja$ https://www.youtube.com/channel/dupacycki/live [R=301,L]
RewriteRule ^2fa$ https://www.strona.pl/forum/uwierzytelnianie-dwuskladnikowe-10040 [R=301,L]
...

 

W pliku httpd.conf linijka odpowiedzialna za włączenie mod_rewrite jest odkomentowana, dodatkowo idąc za radami ze StackOverflow zmieniłem wartość AllowOverride na All - i , mod_rewrite dalej sprawia w/w problemy.

 

Coś mi umknęło?

Odnośnik do komentarza
Udostępnij na innych stronach

2 godziny temu, Ivellios napisał:

bądź wybiórczo działającego mod_rewrite.

Nie ma czegoś takiego jak wybiorcze działanie mod_rewrite. Masz blednę reguły np:

RewriteRule (.*) /$1? [R=301,L]

Jak ta reguła ma działać ?

HTTP 200 usługi IT -> Dariusz Janicki | Realizacja serwisów www oraz oprogramowania w PHP / C# / Golang / Node.js / MySQL/ Laravel
Komory normobaryczne - normobaria.tech Wykonawca montażu i instalacji komory normobarii

Odnośnik do komentarza
Udostępnij na innych stronach

Ta konkretna reguła ma na celu usunięcie różnych pierdół dodawanych do URL'a przez Facebooka, a także identyfikatorów sesji, itd. W poprzedniej linijce jest warunek uruchamiający tę regułę. Chyba że da się to osiągnąć w jakiś inny sposób?

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ę
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę. Warunki użytkowania Polityka prywatności