Autor | Zpráva | ||
---|---|---|---|
loader Profil * |
#1 · Zasláno: 20. 10. 2011, 18:13:40
Mám script:
RewriteRule ^file/(.*)$ index.php?Name=$1 [QSA,L] Ale keď do url zadám: addr.cz/file/Nazov & Typ addr.cz/file/... Tak premenná v PHP <?php echo $_REQUEST['Name']; ?> Nevydá žiadnu hodnotu. Ako to opraviť ? |
||
Kcko Profil |
#2 · Zasláno: 20. 10. 2011, 19:36:07 · Upravil/a: Kcko
např. znak & je "chráněným" znakem a mezera tam jistě také nemá moc co dělat.
|
||
loader Profil * |
#3 · Zasláno: 20. 10. 2011, 19:45:13
Tak iný príkad na adresu: addr.cz/info/Spybot Search & Destroy
|
||
Davex Profil |
#4 · Zasláno: 20. 10. 2011, 20:40:14 · Upravil/a: Davex
loader:
Pravidlem se přepisuje na adresu index.php?Name=info/Spybot Search & Destroy a hodnota Name by neměla být prázdná, protože PHP by mělo rozdělit parametry do
$_GET['Name'] = 'info/Spybot Search '; $_GET['Destroy'] = ''; Aby se to nerozdělilo, tak se musí vynutit escapování speciálních znaků v přepsané adrese pomocí příznaku [B] .
RewriteRule ^file/(.*)$ index.php?Name=$1 [QSA,L,B] |
||
loader Profil * |
#5 · Zasláno: 20. 10. 2011, 20:59:51
Davex:
Ďakujem za odpoveď, ale chcem sa ešte spýtať, ako kódovať nejaké špeciálne znaky zadané v url do súboru ? Príklad: Zadané: info/吹响号 ale súbor v ktorom sa zadaný GET parameter načíta, také znaky zakóduje do zlého formátu. |
||
Davex Profil |
#6 · Zasláno: 20. 10. 2011, 21:17:04
loader:
Znaky, které přijdou v URL, by měly být v kódování UTF-8. Pokud je stránka v jiném kódování, tak se musí kódování sjednotit například pomocí iconv() .
|
||
Časová prodleva: 13 let
|
0