Utworzyłem RewriteRule, aby zezwolić na przyjazny adres URL do rejestracji w htaccess:
RewriteRule ^signup$ signup.php
Działa to wszystko dobrze, chociaż obraz PNG wygenerowany przez pole captcha dynamicznie pokazuje przerwany link. Jeśli uruchomię ten skrypt na żądanie surowego signup.php, działa dobrze.
Źródło captcha jest podobne
?___event=getimage&___input=captcha&___image=6S024g%3D%3D%3A1430648449
Żądanie skryptu poprzez przepisanie na nowo otrzymuję ten komunikat:
Zasób interpretowany jako obraz, ale przesłany przy użyciu typu MIME text / html: „http://mysite.nil/signup?___event=getimage&___input=captcha&___image=6S024g%3D%3D%3A1430648449"
Próbowałem już wszystkiego, bezskutecznie przeglądałem logi Google i Apache.
Byłbym wdzięczny za każdą pomoc, która mogłaby mi pomóc.
Odpowiedzi:
1 dla odpowiedzi № 1twoje źródło captcha nie ma schematu, domeny ani części zasobów: tylko część zapytania, przeglądarka zastąpi lokalizację strony, powodując żądanie .../signup?___event=getimage
... apache dopasowuje tylko agoinst część zasobu, więc wzorzec może pozostać taki sam, ale musisz powiedzieć apache, aby dopasował zachował ciąg zapytania po przepisaniu za pomocą QSA
flaga.
RewriteRule ^signup$ signup.php [QSA]
1 dla odpowiedzi nr 2
Może mógłbyś stworzyć inną RewriteRule dla captcha?
.htaccess Zasób interpretowany jako skrypt, ale przesyłany za pomocą typu MIME text / html
Jak powiedziano tutaj, może możesz spróbować zakończyć ten link .png?
RewriteRule ^signup.png$ signup.php [QSA]