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

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

  • 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