Мне нужно передать / как переменную как часть URL-адреса.
Моя структура выглядит следующим образом: www.domain.com/listings/page-1/city-Burnaby+South/type-Townhome/bedroom-2/bathroom-2
В этом случае он в конечном итоге сводится к listing.php, и все остальное за ним становится параметрами, которые мой скрипт PHP анализирует с помощью переменной $ _SERVER ['REQUEST_URI'].
Однако, когда одна из переменных hte становится «Apartment / Condo», а / становится% 2F через urlencode () в PHP, когда URL-адрес генерируется, все это задыхается, и я получаю ошибку «Not Found».
Как передать / не нарушая URL? Что мне не хватает? Я думал, что все эти символы urlencode () (% 2F,% 20 и т. Д.) Были для устранения этих проблем.
Urls с % 2f /
или % 5c \
возвращает 404 из Apache
для целей безопасности.
Вы можете изменить конфигурацию Apache, чтобы включить AllowEncodedSlashes On
или NoDecode
. Имейте в виду, что это может привести к непреднамеренным проблемам безопасности, которые эта «функция» предназначена для смягчения.
Документы Apache: http://httpd.apache.org/docs/current/mod/core.html#allowencodedslashes
Решено:
Этот меня тоже получил – спасибо за вопрос
Вы можете в равной степени использовать urldecode();