Skocz do zawartości
"Idzie nowe..." - o zmianach i nie tylko ×
Przeniesienie zakupów z IPS Marketplace / Moving bought items from IPS Marketplace ×

Problem z przyjaznymi adresami i locale po aktualizacji z 3.x


wify

Rekomendowane odpowiedzi

Witam,

 

Konfiguracja: IPB 4.3.5, Windows Server 2008 R2, PHP 7.2.7, MySQL 5.6.14

 

Po aktualizacji z IPB 3.4.9 do 4.3.5 wystąpiły dwa problemy, które wg IPS (mam ciągle otwarty ticket) są wynikową "błędów konwersji UTF8". Cytuję z supportu:

 

Cytat

This indicates that your utf8 conversion didn't process properly in this case, do you have a full backup from before you processed this? as you may need to restore to 3.4.9, then our developers and process the utf8 conversion for you to work out any issues with your special characters. 

 

Cytat

You are going to need to revert back to the 3.4 instance from your backup first of all, so we can fix the issues with the database. They need to be resolved prior to the upgrade unfortunately. 

 

Cytat

I'm very sorry, but unfortunately, our support for Windows environments is limited. While we can access the site, I'm afraid we cannot work as you're requesting -- take a database, fix it, give it back to you and work within the confines of the Windows environment.

 

[Ostatnia odpowiedź dopiero po dwóch dniach, choć podane było od razu, że działam na Windows Server!]

 

Szukam pomocy i tutaj na forum, gdyż mam pewne wątpliwości co do tej diagnozy. Forum nie było konwertowane na UTF8 przed aktualizacją (od lat działało w tym kodowaniu bez błędów), a pierwszy z problemów opisanych poniżej nie wystąpił na lokalnej testowej instalacji (ta sama baza danych).

 

 

1. Przyjazne linki zawierające Polskie znaki produkują błąd:

 

"Pętla przekierowań

Podczas łączenia z serwerem wystąpił błąd."

 

Błąd przestaje się pojawiać po wyłączeniu opcji IPB4 Rewrite URLs.

 

Nie działa:

https://www.fixitpc.pl/forum/38-dzia%C5%82-pomocy-dora%C5%BAnej/

Działa:

 

https://www.fixitpc.pl/index.php?/forum/38-dzia%C5%82-pomocy-dora%C5%BAnej/

 

Zawartość pliku web.config  (IIS, Windows Server 2008 R2):

 

<rule name="pretty urls" enabled="true" stopProcessing="true">
                    <match url="." ignoreCase="false" />
                    <conditions logicalGrouping="MatchAll" trackAllCaptures="false">
                        <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
                        <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
                    </conditions>
                    <action type="Rewrite" url="/index.php" appendQueryString="true" />
</rule>  

 

Jak zaznaczone, ten problem ujawnił się dopiero podczas upgradu na żywo, na localhoście nie było problemu.

 

 

2. Podobny problem jak tutaj, tzn. brak określonych fraz w widoku forów (typu Dziś, Piątek) + polskie czcionki zastąpione pytajnikami w niektórych frazach Kalendarza + ale dodatkowo też symbol zastępczy w numerach postów.

 

p2.png.e230170ea118f1054dc19d14db225841.

 

p1.png.3119927aa77b957ea2cea9b0b2a4b662.

 

Jest wgrane locale "pl" na serwerze. Po wgraniu "en" (było potrzebne, by z powrotem przestawić język domyślny na angielski) menu języków przestało także pokazywać angielską flagę.

 

p4.png.f1f82c1a52293acc46fcca13195a4a36.

 

 

 

Czy ktoś ma jakiś pomysł?

 

 

 

 

 

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

Aktualizacja do punktu 2 (na bazie ciągów w dokumentacji MS) :

- Flaga angielska w menu języków została naprawiona. Wystarczyło wpisać "usa" zamiast "enu" jako locale.

- Również brakujące polskie frazy w widoku forum oraz zastępowanie polskich czcionek pytajnikiem zostało naprawione poprzez wpisanie jako locale "plk" lub ew. "polish".

Pozostaje jednak problem z formatowaniem separatora w numerach, nadal jest ten zastępczy symbol � oraz oczywiście problem numer 1 z przyjaznymi linkami.

 

 

 

Edytowane przez wify
  • Lubię to 1
Odnośnik do komentarza
Udostępnij na innych stronach

Bardzo przepraszam za podbijanie tematu, ale czas edycji jest tu ograniczony. Zastępczy symbol � został naprawiony na podstawie dokumentacji MS.  W pliku IPB4 ...\system\Lang.php kod:

 

$this->locale = localeconv();

... został zastąpiony przez:

$locale_info_from_windows = localeconv();
$locale_info_from_windows['thousands_sep'] = iconv('Windows-1252', 'UTF-8', $locale_info_from_windows['thousands_sep']);
$this->locale = $locale_info_from_windows;

 

Dla porównania podobny problem z Windows Server w tym wątku, tylko rzecz jasna o inną definicję rzecz się rozbijała.

 

Czyli problem numer 2 został przeze mnie samodzielnie naprawiony. Zostały mi te nieszczęsne przyjazne linki. Bardzo proszę o jakiś pomysł...

 

 

 

 

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

Dzięki za odpowiedź. Co masz konkretnie na myśli? Oryginalny plik htaccess generowany przez IPS posiada następującą definicję, odpowiadającą regule zdefiniowanej w moim pliku web.config:

 

RewriteRule . /index.php [L]

 

Problem z przyjaznymi linkami występuje tylko i wyłącznie dla adresów posiadających znaki Unicode. Ta sama zasada działa też na IPB 3.x.

 

Odnośnik do komentarza
Udostępnij na innych stronach

3 godziny temu, wify napisał:

Dzięki za odpowiedź. Co masz konkretnie na myśli? Oryginalny plik htaccess generowany przez IPS posiada następującą definicję, odpowiadającą regule zdefiniowanej w moim pliku web.config:

 


RewriteRule . /index.php [L]

 

Problem z przyjaznymi linkami występuje tylko i wyłącznie dla adresów posiadających znaki Unicode. Ta sama zasada działa też na IPB 3.x.

 

IIS ma od dawna problem z kodowaniem znaków w URL-ach.

Tutaj znalazłem coś co może ci pomóc. ;) 

https://forums.iis.net/t/1229593.aspx?URL+Rewrite+Module+decodes+UTF+8+encoded+querystring+as+if+it+were+iso+8859+1

PS. podrzuć logi z IIS gdy wykonujesz URL co ci w logach zwraca. 

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

Dzięki. Ustawienia IIS oraz testy z (de)kodowaniem URL mam już dawno za sobą, bez rezultatu. Natomiast przejście na ISAPI Rewrite z htaccess IPSu mam w planie, dziś wieczorem będę to testować. Na localhoście był bowiem Windows w kombinacji z Apache i tam nie było problemu.

Odnośnik do komentarza
Udostępnij na innych stronach

Niestety. Po wyłączeniu reguły w IIS URL Rewrite na korzyść ISAPI Rewrite ten sam błąd. Nie rozumiem dlaczego ten sam konfig na IPB 3.x nie produkuje błędu z linkami Unicode.

 

Support IPS nie ma mi nic do powiedzenia, poza ... przeniesieniem się na Linuxa, by mogli "wykonać diagnostykę".

 

 

Cytat

okej, a jeszcze podpytam php TS czy NTS? 

 

NTS.

   
Odnośnik do komentarza
Udostępnij na innych stronach

57 minut temu, wify napisał:

Niestety. Po wyłączeniu reguły w IIS URL Rewrite na korzyść ISAPI Rewrite ten sam błąd. Nie rozumiem dlaczego ten sam konfig na IPB 3.x nie produkuje błędu z linkami Unicode.

 

Support IPS nie ma mi nic do powiedzenia, poza ... przeniesieniem się na Linuxa, by mogli "wykonać diagnostykę".

 

 

 

NTS.

   

A spróbuj tego kodu

<rule name="Remove index" stopProcessing="true">
               <match url=".*" />
               <conditions logicalGrouping="MatchAll">
                 <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
                 <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
               </conditions>
               <action type="Rewrite" url="index.php" />
            </rule>

 

Odnośnik do komentarza
Udostępnij na innych stronach

Ten kod nie powoduje żadnych zmian. Wcześniej była już próbowana masa kombinacji i nici. Mój web.config działa za to poprawnie na IPB 3.x.

 

Dla porządku dodam, że plik z ISAPI Rewrite miał postać:

 

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [NE,L]

[Na początku tylko flaga L, potem próba z innymi]

Odnośnik do komentarza
Udostępnij na innych stronach

  • Manager

Problem ROZWIĄZANY. Jeśli są jakiekolwiek wątpliwości, pytania proszę o założenie nowego tematu.

Wszelkie uzasadnione reklamacje/pretensje/sugestie/rady przyjmuje ekipa forum.

intermedia - profesjonalne rozwiązania Invision Power Board

---

Chcesz uzyskać szybko i sprawnie pomoc? Uzupełnij wersję i adres w profilu.

Odnośnik do komentarza
Udostępnij na innych stronach

  • 1 rok później...
  • Manager

Dodatkowe wyjaśnienia przesłane przez @wify (dzięki!):

Cytat

Thank you for bringing this issue to our attention! I have submitted a potential fix and pending approval from our development and QA teams, this should make its way to an upcoming release. Unfortunately, I do not have an ETA for that at present and apologize for any inconvenience this issue has caused.

 

intermedia - profesjonalne rozwiązania Invision Power Board

---

Chcesz uzyskać szybko i sprawnie pomoc? Uzupełnij wersję i adres w profilu.

Odnośnik do komentarza
Udostępnij na innych stronach

Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
  • 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ę.