2016-01-19 4 views
0

Иногда ссылки на них открывают страницы на моем веб-сайте со странным текстом в конце его (например, Facebook). Я хотел бы удалить этот текст, так как моя страница не будет отображаться вместе с ним.В ColdFusion, как мне удалить текст в конце моего URL?

Например, что бы я хотел сделать, это сообщить моей странице, что если URL-адрес имеет текст после знака фунта, удалите его и откройте URL-адрес без него.

Так что, если кто-то открывает мою страницу с: http://www.example.com/news/stories/this-is-a-news-story/#sthash.MmwTdqVa.dpuf Я хочу это исправить и открыть страницу http://www.example.com/news/stories/this-is-a-news-story/

Как бы мне это сделать? Я знаю, как это сделать с PHP, но я новичок в ColdFusion.

Спасибо! Brendan

+4

_my страница не будет отображаться вместе с ним там. - Любая дополнительная информация в URL-адресе не должна влиять на отображение вашей страницы. Если вы не используете переменную URL, она просто игнорируется. Почему вы хотите справиться с этим с ColdFusion? Хотя ColdFusion может делать то, что вы просите, он не предназначен для этого. Веб-сервер. Если вы действительно хотите изменить URL-адрес, вы должны использовать свой веб-сервер для этого. Но вы станете кошмаром для обслуживания. Пользователи могут вводить все, что захочет, в адресной строке браузера. Будете ли вы продолжать переписывать правила? –

+0

В общем, если вы можете что-то сделать с php, преобразуйте код в описание того, что делает. Затем найдите способы сделать это с помощью ColdFusion. Я в этом случае, послушай Мигеля. –

+2

Материал после '#' (называемый фрагментом) не является частью HTTP-запроса, поэтому он не отправляется на сервер. Обработать фрагмент на клиентском деле можно только с помощью Javascript: 'window.location.hash' – Alex

ответ

0

Вы используете услугу, такую ​​как AddThis.com? Если это так, эти (и другие) маркетинговые службы могут добавлять фрагменты к URL-адресам для целей отслеживания. Они безвредны, но вот инструкции AddThis о том, как их удалить, если вы используете их сервис. (Проверьте ж/вашей маркетинговой команды, прежде чем сделать это.)

http://www.addthis.com/academy/removing-hashtags-anchors-and-tracking-codes-from-your-urls/

фрагмент не передается на сервер ColdFusion, а не в рамках CGI. Он предназначен для использования и только в браузере клиента. Это не должно вызывать проблем с созданием страниц ColdFusion, поэтому ваша проблема может возникнуть из-за javascript. Откройте инструменты веб-разработчика (F12), чтобы идентифицировать любые ошибки JavaScript, которые могут быть вызваны неожиданным фрагментом. (Вы не предоставили сообщение URL или ошибок, так что трудно решить эту проблему, вы можете быть встречая.)

Вот существующее решение на StackOverflow, что вы могли бы использовать для удаления фрагмента на стороне клиента:

https://stackoverflow.com/a/13824103/693068

// remove fragment as much as it can go without adding an entry in browser history: 
window.location.replace("#"); 

// slice off the remaining '#' in HTML5:  
if (typeof window.history.replaceState == 'function') { 
    history.replaceState({}, '', window.location.href.slice(0, -1)); 
} 

Я только советую выполнять один раз в течение PageLoad и, возможно, включать в себя фильтр, чтобы сохранить любые фрагменты вы на самом деле хотите сохранить.

В качестве побочного примечания я иногда добавляю <a href="#top">Go to Top</a> на длинные страницы без какого-либо соответствия. #top элемент. Обычно любой идентификатор, который не найден, заставит браузер автоматически прокручивать вверх.

 Смежные вопросы

  • Нет связанных вопросов^_^