Zadejte hledaný výraz...

mod_rewrite – přidání procenta do povolených znaků

Dan
verified
rating uzivatele
(16 hodnocení)
20. 9. 2007 18:19:11
Používám jednoduchý htaccess, kde mám v regulárním výrazu povoleny znaky A-Z, a-z, 0-9 a tečku. Potřeboval bych do seznamu povolených znaků přidat procento, ale asi to bude nějaký speciální znak, prosté přidání do tohoto seznamu za tečku nefunguje. Nejsem žádný odborník přes regulární výrazy. Poradíte, jak tam procento dostat? Díky.
20. 9. 2007 18:19:11
https://webtrh.cz/diskuse/mod_rewrite-pridani-procenta-do-povolenych-znaku/#reply20530
meca
verified
rating uzivatele
(1 hodnocení)
20. 9. 2007 18:28:55
Já bych z pocize ztonajícího budiž kničemi tipnul, že tam před tečku musíš dát zpětný lomítko...
20. 9. 2007 18:28:55
https://webtrh.cz/diskuse/mod_rewrite-pridani-procenta-do-povolenych-znaku/#reply20529
Dan
verified
rating uzivatele
(16 hodnocení)
20. 9. 2007 18:32:08
Nefunguje:-( Nicméně nejedná se mi o tečku, ta mi funguje, ale o procento.
20. 9. 2007 18:32:08
https://webtrh.cz/diskuse/mod_rewrite-pridani-procenta-do-povolenych-znaku/#reply20528
V hranatých závorkách stačí přidat znak procent, všude jinde ho musíš escapovat. Nicméně URL nesmí obsahovat znak procent s výjimkou escapovací sekvence.
The percent character "%" is excluded because
it is used for the encoding of escaped characters.
http://www.faqs.org/rfcs/rfc2396.html
Nemůže být problém tu?
Kdyžtak napiš víc informací, takhle se špatně radí.
20. 9. 2007 18:35:52
https://webtrh.cz/diskuse/mod_rewrite-pridani-procenta-do-povolenych-znaku/#reply20527
// Meco, tečka v není metaznak, tudíž se nemusí escapovat.
20. 9. 2007 18:37:46
https://webtrh.cz/diskuse/mod_rewrite-pridani-procenta-do-povolenych-znaku/#reply20526
Dan
verified
rating uzivatele
(16 hodnocení)
20. 9. 2007 18:49:50
Retal: Mám formulář mimo jiné s vyhledáváním textu. Z jednotlivých parametrů si pomocným skriptem poskládám pěknou url ve formátu www.example.com/n-1/hledam-%C4%8De%C5%A1tina/ (pro hledané slovo čeština). Tím pomocným skriptem, kterým skládám pěknou url, hledaný text zakóduju pomocí URLEncode. No a pak samozřejmě když jsou v hledaném textu české znaky, tak je to s povolenými znaky problém:-(
20. 9. 2007 18:49:50
https://webtrh.cz/diskuse/mod_rewrite-pridani-procenta-do-povolenych-znaku/#reply20525
Co to píše v error logu? Co když použiješ negativní třídu ?
20. 9. 2007 18:56:18
https://webtrh.cz/diskuse/mod_rewrite-pridani-procenta-do-povolenych-znaku/#reply20524
Dan
verified
rating uzivatele
(16 hodnocení)
20. 9. 2007 19:08:01
Retal: Testuju to na svém PC, WinXP, Apache2. V error logu Apache je jen info o 404, nic víc. Negativní třída je na mne moc silné kafe:-( Prostě co udělat, pokud chci do URL dostat a zase z něj získat s pomocí mod_rewrite slovo s diakritiku? Nejlépe step by step, je možné, že mi to už teď nemyslí. Díky moc.
20. 9. 2007 19:08:01
https://webtrh.cz/diskuse/mod_rewrite-pridani-procenta-do-povolenych-znaku/#reply20523
Dan
verified
rating uzivatele
(16 hodnocení)
20. 9. 2007 19:18:37
Můj step by step postup je tento:
1) formular.htm - odeslu z nej metodou get data z formulare do souboru poskladej_url.php
2) poskladej_url.php - poskladam si promenne v takovem poradi, v jakem chci, textove políčko jen proženu funkcí urlencode() a přesměruju na poskládané pěkné url
3) pekne-url-s-cestinou - zde přichází na řadu mod_rewrite. V něm mám:
RewriteRule ^(+)/?$ vysledek.php?prvni_promenna=$1
Čili to, co je za názvem domény hodím jako parametr souboru vysledek.php
4) vysledek.php - jen echo $prvni_promenna
magic_quotes_qpc jsou on. Žádné jiné funkce nepoužívám, které by něco dělaly s apostrofy nebo speciálními znaky, nepoužívám.
20. 9. 2007 19:18:37
https://webtrh.cz/diskuse/mod_rewrite-pridani-procenta-do-povolenych-znaku/#reply20522
Zkus toto
20. 9. 2007 19:38:20
https://webtrh.cz/diskuse/mod_rewrite-pridani-procenta-do-povolenych-znaku/#reply20521
Dan
verified
rating uzivatele
(16 hodnocení)
20. 9. 2007 22:31:50
Bohužel ne, stále to hází 404:-( Celou aplikaci mám v UTF-8.
20. 9. 2007 22:31:50
https://webtrh.cz/diskuse/mod_rewrite-pridani-procenta-do-povolenych-znaku/#reply20520
example.com/n-1/hledam-%C4%8De%C5%A1tina/
kde je umístěn .htaccess s tímto pravidlem? v rootu? v /n-1/? kde je vysledek.php?
20. 9. 2007 22:41:38
https://webtrh.cz/diskuse/mod_rewrite-pridani-procenta-do-povolenych-znaku/#reply20519
Eh, ok, ještě jednou. Použij tuto třídu znaků, u té předchozí jsem udělal drobnou změnu a neotestoval:
21. 9. 2007 01:24:43
https://webtrh.cz/diskuse/mod_rewrite-pridani-procenta-do-povolenych-znaku/#reply20518
Dan
verified
rating uzivatele
(16 hodnocení)
21. 9. 2007 07:43:30
Napsal Retal;13970
example.com/n-1/hledam-%C4%8De%C5%A1tina/
kde je umístěn .htaccess s tímto pravidlem? v rootu? v /n-1/? kde je vysledek.php?
.htaccess je v rootu, stejně jako vysledek.php . Zdůrazňuju, že když se nepoužije čeština, tak vše funguje tak, jak má, čili někde jinde by problém být neměl - problém je pouze v případě hledaného slova s diakritickými znaky, tj. s procenty v URL.
21. 9. 2007 07:43:30
https://webtrh.cz/diskuse/mod_rewrite-pridani-procenta-do-povolenych-znaku/#reply20517
RAY
verified
rating uzivatele
(1 hodnocení)
22. 9. 2007 01:49:56
mod_rewrite zpracovává v RewriteRule vlastně REQUEST_URI, která byla před tím prohnána funkcí urldecode() - proto přidání znaku % (procent) není funkční.
Jediné řešení je buď explicitně vyjmenovat všechny možné (české) znaky nebo použít negaci, např. (*), což je obvykle nejlepší řešení (a nebo RewriteCond a %REQUEST_URI - zde by znak % měl fungovat).
22. 9. 2007 01:49:56
https://webtrh.cz/diskuse/mod_rewrite-pridani-procenta-do-povolenych-znaku/#reply20516
Pro odpověď se přihlašte.
Přihlásit