Piotr Stanek

Piotr Stanek Programista PHP /
JS developer

Temat: znak & w adresie URL HTACCESS

wywoluje taki adres

http://www.name.com/tag,H&M.html

za odpowiednie parsowanie odpowiada to

RewriteRule ^tag,(.*).html$ portal/public_html/frontend/modules_tag.php?modules=1&tag=$1&fist=1&fist=1&t=tag [L]

Wywołanie tego nie działa bo jest znaczek & i on oddziela parametry. Czyli zmienna tag=H jak zrobić by znaczek "&" w h&m nie był brany pod uwagę przez serwer jako oddzielenia parametrów w url.

w pliku modules_tag dałem przykładowe echo i daje mi:

SELECT COUNT(*) FROM `tag` WHERE tag = 'H'

a ma byc

SELECT COUNT(*) FROM `tag` WHERE tag = 'H&M'
Tomasz Zadora

Tomasz Zadora programuję

Temat: znak & w adresie URL HTACCESS

Spróbuj zamienić & na & amp ; używając funkcji htmlspecialchars przed stworzeniem URL-a który jest następnie w HTMLu strony.

Zrobiłem "& amp ;" ze spacjami bo inaczej pokazuje mi tu sam & :)Tomasz Zadora edytował(a) ten post dnia 18.04.12 o godzinie 18:52
Paweł Malisak

Paweł Malisak PHP Developer

Temat: znak & w adresie URL HTACCESS

Znaku "&" nie powinno być w adresie. Funkcja, która generuje przyjazne linki, albo powinna usunąć ten znak, albo zamienić go np. na podkreślenie "_".

Tutaj masz taką przykładową funkcję :

http://sf.jogger.pl/2007/05/19/przyjazne-linki/

Oczywiście w bazie także musisz sobie poprawić i nie zapisywać H&M, tylko HM czy też H_M.

Ewentualnie możesz użyć w adresie "%26", tak jak robi to wikipedia.Paweł Malisak edytował(a) ten post dnia 19.04.12 o godzinie 08:39

konto usunięte

Temat: znak & w adresie URL HTACCESS

Wystarczy, że podczas zapisu taga użyjesz funkcji urlencode, a po drugiej stronie urldecode i możesz bez problemu uzywać dowolnych znaków w tagach...

Wejście:
<?php
$s = urlencode('H&M');
echo $s . "\n";
echo urldecode($s) . "\n";


Wyjście:
H%26M
H&M
Tomasz Walotek edytował(a) ten post dnia 19.04.12 o godzinie 11:48
Piotr Stanek

Piotr Stanek Programista PHP /
JS developer

Temat: znak & w adresie URL HTACCESS

właśnie tak zrobiłem, dzięki. Działa.
Piotr W.

Piotr W. Symfony2 / MongoDB

Temat: znak & w adresie URL HTACCESS

Działać działa, ale paskudny format urla :)
Przecinki w urlach to jedna z najgorszych rzeczy jakie można zobaczyć niestety w necie ;)
więcej może tutaj:
http://wortal.php.pl/phppl/Wortal/Artykuly/Pomysly-por...
(pierwszy link z googli)

Następna dyskusja:

pytanie z .htaccess




Wyślij zaproszenie do