Недавно, когда я увидел страницу результатов Google, запрос и другие параметры, которые передавались с # (хешем) вместо обычного «?»
Кроме того, в facebook я видел то же самое. Это было довольно интересно, и после простого поиска с помощью google я нашел результаты, связанные с perl и Ruby, но без результата с PHP.
Можно ли передавать параметры с # в PHP вместо «?»? или это возможно только с perl / Ruby. Это будет полезно, и поисковые системы не будут анализировать параметры в URL-адресах.
Любые идеи будут полезны для меня.
Традиционно #
сказал браузеру автоматически прокручиваться до определенной точки на странице, которая была (и до сих пор) используется для реализации ссылок из одной части страницы (например, оглавления) в другую (например, заголовок раздела ).
Однако это также приводит к тому, что URL-адрес, содержащий #
должен быть записан в истории, даже если он идентичен предыдущему URL-адресу, кроме #
и того, что следует за ним. (Другими словами, пользователь все еще находится на одной странице.) Это означает, что кнопка «Назад» может использоваться для возврата к состоянию, в котором вы были ранее, даже если это изменение состояния не соответствует странице, нагрузки.
Поэтому современные приложения AJAX часто используют его для обозначения того, что что-то случилось, что пользователь может захотеть «вернуться».
Нет, это невозможно.
Что вы видели, это просто украшение, чтобы отразить вызов AJAX в адресной строке.
Независимо от того, какой язык вы выберете – все они сидят на стороне сервера и общаются с браузером с использованием протокола HTTP. И ни один якорь не разрешен в HTTP-запросах. Это полностью клиентская вещь
Вы сталкиваетесь с путаницей в результатах поиска, потому что термин хеш перегружен , как и концепция передачи параметров.
Вы видите ссылки на концепцию передачи значений в hash beacause, так как ассоциативный массив называется хешем на некоторых языках (что мало для хэш-таблицы).
Символ #
также сбивает с толку. Он называется «хэш», «фунт», «число» и «октоторп». С тех пор как я вырос в США, я называю это «фунт-знаком» в моей голове, что, вероятно, раздражает пользователей более британского английского, и не менее чревато возможностью путаницы (см. «Е»).
Передача аргументов функции в хеше в Perl – отличный способ получить именованные аргументы для подпрограммы. PHP имеет только позиционные аргументы, но использование массива там хорошо.
Многие веб-библиотеки используют структуру типа хэш / ассоциативный массив для значений формы. Ключами обычно являются идентификатор поля, а значения – значения полей.
В URI #
обозначает начало спецификатора фрагмента. Он идентифицирует часть страницы, на которую указывает URI. Обычно он не используется для передачи информации запроса от клиента обратно на сервер.
вероятно, есть перезапись сервера или так. Пример с сервером apache, вы можете обрабатывать некоторые uri как
Http: //www.mysite.com#something
и переписать его как
http://www.mysite.com/perl/script.pl?data=something
и поэтому обрабатывайте его как простой запрос GET на ваш script.pl
Это все серверная обработка, невидимая клиенту