Autor | Zpráva | ||
---|---|---|---|
AntonP Profil |
#1 · Zasláno: 16. 10. 2017, 16:53:29
Dobrý deň.
Robím PHP script pre mobilniplatby. Všetko je tak, ako chcem a scripty sú hotové. Ale má to jeden háčik. Script pre vygenerovanie odpovedi má vrátiť http status 200 a script pre doručenku má vrátiť status 204. Lenže obidve scripty vrátia http status 301... Aj keď do scriptu dám napr. header("HTTP/1.1 204 NO CONTENT"); . Som vďačný za každú radu, už si neviem rady. Ďakujem a prajem pekný zvyšok dňa.
|
||
Kajman Profil |
#2 · Zasláno: 17. 10. 2017, 00:01:51
Při 301 se vrací i location. Jaká je tam adresa? Neopraví tím server např. doménu nebo protokol?
|
||
AntonP Profil |
#3 · Zasláno: 17. 10. 2017, 13:39:34
Dobrý deň,
ako to zistím? Script testujem cez testovací emulátor, ktorý je administracií. Ten píše, že očakávaný status je napr. 200, ale dostal 301. |
||
Keeehi Profil |
AntonP:
A když na tu URL vlezeš přímo v prohlížeči? |
||
AntonP Profil |
#5 · Zasláno: 17. 10. 2017, 14:51:39
No keď tam mám ten header 204 no content, tak to ani neotvorí a vráti ma to -1 stránka do histórie. To znamená, že zadám adresu do prehľiadaca, dám enter a nič sa nestalo.
|
||
Keeehi Profil |
#6 · Zasláno: 17. 10. 2017, 15:33:02
A není to náhodou tak, že nejdříve se to pomocí 301 přesměruje a ta další stránka po přesměrování vrátí 204?
Otevři si vývojářské nástroje (většina prohlížečů to má pod f12) a tam záložku Síť (Network). Pak zadek normálně URL. V těch vývojářských nástrojích bys měl vidět, jaké požadavky prohlížeč posílá a jaké dostává odpovědi. |
||
Kajman Profil |
#7 · Zasláno: 17. 10. 2017, 15:44:44
V tom sledování sítě, ale nemusí být odpověď serveru vidět, pokud už na tu url byl požadavek dříve, protože prohlížeč si cachuje 301 odpovědi. Takže pro testování čistěte pokaždé cache nebo zadávejte url, co jste ještě nezadával (např. přidejte parametr ?test=42, 43, 44).
A ještě jednou si zkontrolujte, zda aplikace a prohlížeč koukají naprosto na stejnou url (http - https, www - bez www). |
||
AntonP Profil |
#8 · Zasláno: 17. 10. 2017, 16:02:55
No... Na script je potrebné http://, ale ja mám (aj v .htaccess) nastavené https://... Preto asi píše 301 redirected, teraz som si to uvedomil... Dá toto nejak vypnúť iba v konkrétnej stránke?
|
||
Kajman Profil |
#9 · Zasláno: 17. 10. 2017, 16:20:10
Platební brána vyžaduje http? To by mělo být spíše naopak, že má vyžadovat https.
Ale ano, výjimka z přesměrování je možná. Např. přidáním RewriteCond %{REQUEST_URI} !^/jedna/url/adresa$ |
||
AntonP Profil |
#10 · Zasláno: 17. 10. 2017, 16:45:24
Áno, je to divné, ale keď tam napíšem https:// tak napíše "Chyba pri testovani!", takže potrebuje http...
Nad pravidlo, ktoré presmerováva z http na https som dal: RewriteCond %{REQUEST_URI} !^/domains/pay.(mojadomena).eu/(nazovZlozkySoScriptmy)$ |
||
Keeehi Profil |
#11 · Zasláno: 17. 10. 2017, 17:25:01
AntonP:
„Áno, je to divné, ale keď tam napíšem ht>tps:// tak napíše "Chyba pri testovani!", takže potrebuje http...“ Ne, nepotřebuješ http. Ty potřebuješ vyřešit tu chybu. |
||
AntonP Profil |
#12 · Zasláno: 17. 10. 2017, 17:36:43
Keeehi:
Ak je chyba v kóde, tak to napíše inak a nie do alertu (teda tak to je na mobilniplatby) :D Napíše to ako červený box a v ňom je napísané niečo ako "Váš skript neodpovídá dle specifikace". A keď to https tam nedám a napíšem tam http://..., tak je to vporiadku. |
||
Kajman Profil |
#13 · Zasláno: 18. 10. 2017, 00:55:57
Specifikace asi vyžaduje správné nastavení https. Zkuste se poradit s podporou toho testovacího emulátoru.
Jinak ve výjimce na REQUEST_URI má být jen cesta za doménou viditelná v prohlížeči. |
||
AntonP Profil |
#14 · Zasláno: 19. 10. 2017, 08:00:39
Dobrý deň, vyriešené, https to zoberie normálne, ale nefunguje na testovacom emulátore. Ďakujem za pomoc.
|
||
Časová prodleva: 7 let
|
0