Я настроил свое приложение coldfusion так, чтобы на странице были динамические URL-адреса, например
www.musicExplained/index.cfm/artist/:VariableName
Однако имена моих переменных иногда будут содержать косую черту, например
www.musicExplained/index.cfm/artist/GZA/Genius
Это вызывает проблему, потому что мое приложение предполагает, что косая черта в имени переменной представляет другой раздел веб-сайта, альбомы исполнителей. Таким образом, URL-адрес не удастся.
Мне интересно, есть ли способ предотвратить это? Нужно ли мне использовать функцию, заменяющую косую черту в именах переменных другим символом?
Ответы:
Вам нужно избегать косых черт как
%2F
.источник
/
и прерывает маршрут. :(encodeURIComponent
иdecodeURIComponent
.Вы можете легко заменить косую черту
/
чем-то вроде подчеркивания_
, которое Википедия использует для пробелов. Обычной практикой является замена специальных символов подчеркиванием и т. Д.источник
UNderscores ARE BAD FOR SEO
комментария. Подчеркивание интерпретируется Google как подчеркивание, дефисы / дефисы интерпретируются как пробелы. Зачем? Кодировщики, многие программисты используют Google (включая самого Google с первых дней), если бы они рассматривали подчеркивания как пробелы, которые вы больше не смогли бы найтиfoo_bar
(вероятно, какой-то класс) в результатах поиска. Бла-бла ... В заключение: нижнее подчеркивание неплохо для SEO, если вы понимаете, как на самом деле работает поисковая система, для которой вы "оптимизируете".Вам нужно избежать их, но не заменять их
%2F
вручную. Вы можете использоватьURLEncoder
для этого.Например
URLEncoder.encode(url, "UTF-8")
Тогда ты можешь сказать
источник
encodeURIComponent
, w3schools.com/jsref/jsref_encodeuricomponent.aspПосетите эту страницу w3schools о «Справочнике по кодированию URL-адресов HTML»: https://www.w3schools.com/tags/ref_urlencode.asp
для / вы бы сбежали с% 2F
источник