Каталоги после имени файла в URL? - PullRequest
0 голосов
/ 06 августа 2010

Я обновляю сайт на PHP и URL выглядит следующим образом:

http://www.thesite.com/index.php/what/are/these

Может кто-нибудь дать мне представление о том, что происходит после index.php? Для меня это похоже на каталоги, но я не вижу ни одного с такими же именами. Это что-то вроде перезаписи URL?

PS CMS - это Jetbox v2.1

Ответы [ 8 ]

3 голосов
/ 06 августа 2010

Кто-то где-то использует $_SERVER['PATH_INFO']. Это переменная сервера, установленная, например, Apache 2 и выдает остаток URL-адреса после объекта (document / script / w / ever), найденного в обслуживаемом URL-адресе.

1 голос
/ 06 августа 2010

Эта дополнительная информация передается в сценарий для использования по своему усмотрению.

В PHP вы можете найти его значение в $_SERVER['PATH_INFO']

1 голос
/ 06 августа 2010

Возможно. Вы хотите сделать следующее:

  • Посмотрите в файле .htaccess для любых директив RewriteRule
  • Загляните в index.php, чтобы узнать, использует ли он какие-либо переменные $ _SERVER (например, $ _SERVER ['QUERY_STRING']) *
  • Просмотрите журналы, чтобы увидеть, какие файлы на самом деле отправляются клиенту
1 голос
/ 06 августа 2010

Обычно вы будете видеть такие URL-адреса, когда хост, на котором работает сервер, не поддерживает .htaccess, но программист все еще хотел иметь "красивые URL-адреса" - я точно знаю, что CakePHP *У 1002 * их URL-адреса выглядят так же, как и у CodeIgniter .Это также может быть просто сделано вручную, но я бы сделал ставку на автора, используя какой-то фреймворк.

1 голос
/ 06 августа 2010

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

0 голосов
/ 07 августа 2010

Они обычно используются как переменные GET, это просто способ передачи информации вместе с вашим запросом.Есть несколько различных способов реализовать это, но цель обычно состоит в том, чтобы получить более чистые URL.Я запутался, почему они оставили index.php там - это может быть неудачно сделанная попытка домашнего приготовления.(Не то чтобы я имел что-то против доморощенных решений общих проблем - лучший способ изучить IMO)

Если вы хотите узнать больше, ищите в коде примеры, где требуется информация о том, какую статью извлекать и т. Д.... Посмотрите, откуда эта информация и работает в обратном направлении.Если вы не можете понять, как это работает из кода, тогда пройдите .htaccess и поищите логику перезаписи URL.

0 голосов
/ 06 августа 2010

Да, это связано с использованием инфраструктуры MVC, такой как CodeIgniter

0 голосов
/ 06 августа 2010

маршруты MVC?Это всего лишь предположение, я не знаком ни с одной реализацией MVC в PHP (не использовал PHP с 4.0).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...