Проблема со спецсимволами в htaccess rewriterule
govnoproger.ru > php >
Проблема старая. Я заметил её ещё на денвере пару лет назад.
Тогда я просто отказался от использования спецсимволов типа «плюс» и тп.
Но вот сейчас столкнулся с тем, что альтернативы просто нету.
Для тех кто в танке, вот проблема:
rewriterule (.*)$ index.php?fname=$1
В примере мы переписываем всё на скрипт.
После чего выводим нашу гет переменную:
echo $_GET['fname'];
Если в имени URL будет спецсимвол символ типа плюса и тп, то выведется пробел вместо него.
Решение проблемы:
Продолжайте использовать rewriterule, чтобы получить все символы нужно брать не через
$_GET[‘fname’] , а через $_SERVER[‘QUERY_STRING’]
Пример:
echo $_SERVER['QUERY_STRING']; echo "</br>"; echo basename($_SERVER['QUERY_STRING']);
В общем вот.