Возможный дубликат:
mod rewrite и строки запроса
Единственный способ передать параметры в URL-адресе – использовать метод GET в PHP. Но я видел много веб-сайтов, использующих то, что, похоже, является параметрами прямо в URL-адресе, например:
http://.../page/2/
В этом случае параметр «страница» действительно является параметром? Если да, то как это делается в коде?
Или это обычный URL-адрес каталога «2», расположенного в каталоге «страница»? Будет ли это означать, что всякий раз, когда создается новое сообщение, веб-сайт создает все страницы и соответствующие каталоги?
благодаря
Это называется переписыванием URL. В основном это означает, что вы используете модуль apache для перезаписи входящих URL-адресов на новые URL-адреса, которые затем обрабатываются apache
В вашем примере http://www.test.com/page/2/
, вероятно, переписано на что-то вроде http://www.test.com/?page=2
.
Если вы будете искать в Интернете для перезаписи URL-адреса Apache, вы получите достаточно результатов, объясняя, как вы можете это сделать.
Это все конвенции. Параметры GET не специфичны для PHP, так как все браузеры кодируют данные формы. Например, веб-приложения на основе Java используют параметры, разделенные точкой с запятой.
Вы можете написать простой слой для преобразования ?alpha=1&beta=2
в /alpha/1/beta/2
но iw tould будет просто дешевым трюком (за исключением нескольких законных случаев, подобных кэшам Squid).
То, что сегодня делают на веб-сайтах, – это использование единого шаблона точки входа . Обычно с mod_rewrite
apache все запросы обрабатываются index.php
и есть средство маршрутизации для выбора соответствующего файла PHP обработчика для конкретной схемы URL. Эти схемы легко определяются регулярными выражениями .
Таким образом, все вы решаете, как будут выглядеть ваши URL-адреса. Это непростая задача, и есть много продавцов по продаже змей из SEO, которые заставят вас делать всевозможные сумасшедшие вещи. Хороший URL-адрес заключается в том, чтобы идентифицировать контент (документ) внутри вашей службы, и вы должны использовать этот единственный URL-адрес в своей службе для его обращения.
И не забывайте: классные URL-адреса не меняются. Вы оставите свою текущую базу кода через 2 года и перестройте свой сайт с нуля. Создайте свою схему URL таким образом, чтобы иметь смысл с логической точки зрения, а не что-то, зависящее от вашего дизайна webapp.
Приведенный вами пример по-прежнему является запросом GET.
Что вы ищете, это переписывание URL .