v2.5.2
Giriş yap

Token htaccess sorunu

polev
477 defa görüntülendi

Kullanıcının mail adresine openssl ile decrypt edilmiş token değeri gönderiyorum.
link yapısı şu şekilde

https://www.ornek.com/token/tRNppkRtvqY/PTX9u3e0lQ==

Rewritem bu şekilde

RewriteRule ^token/([0-9a-zA-Z-_]+)$ token.php?token=$1 [L,QSA]

Çıkan token değeri içerisinde özel karakterler (+,/,&) bulunduğu için 404 sayfasına yönleniyor kullanıcı.
Bu özel karakter sorununu nasıl çözüpde urldeki gibi okuyabilirim tokeni?

Cevap yaz
Cevaplar (3)
polev
1044 gün önce

Sorunu şu şekilde çözdüm.

RewriteRule ^token/([-0-9a-zA-Z/%&%/%+]+)? token.php?token=$1 [L,QSA]
https://www.ornek.com/token/' . rawurlencode($token) . '
$token = rawurldecode($_GET['token']);

Yardımlarınız için teşekkürler

obey00
1045 gün önce

(.*) ile her şeyi kabul edebilirsin; veya sadece token'inde bulunacak özel karakterleri ruleye ekleyebilirsin.

makifgokce
1045 gün önce

https://www.php.net/manual/tr/function.rawurlencode.php
https://www.php.net/manual/tr/function.rawurldecode.php
bunları kullanarak çözebilirsin.
Edit: aşağıya % eklemen gerekir büyük ihtimal.

([0-9a-zA-Z-_%]+)