php - чистый URL - PullRequest
       18

php - чистый URL

11 голосов
/ 15 мая 2010

Я хочу создать сайт с чистым PHP. Я хочу скрыть параметры URL. То есть Я хочу сделать свой сайт с чистыми URL. Есть ли способ сделать это без использования каких-либо рамок? Полезно ли для этого cURL?

Ответы [ 6 ]

7 голосов
/ 15 мая 2010

См. Перезапись URL-адреса в PHP без .htaccess, если вы не хотите или не можете использовать .htaccess, иначе обратитесь к Как выполнить: перезапись URL-адреса в PHP .

1 голос
/ 20 марта 2011

Из того, что я прочитал и понял, есть 2 способа сделать это:

  1. Первым является mod_rerite, где все кажется переопределенным с помощью правил перезаписи через файл .htaccess, который довольно прост, но может создать большую нагрузку на веб-сервер с большими сайтами
  2. Используйте PHP для управления реритами, которые он использует .htaccess, но только для перенаправления всего обратно в index.php, где диспетчер перенаправляет пути по мере необходимости. На phpvideotutorials.com есть фантастическое руководство, которое называется tumblelog.
1 голос
/ 15 мая 2010

Прежде всего: это невозможно только с PHP (по крайней мере, не те формы URL, о которых я думаю, когда читаю чистый URL). Веб-сервер должен знать, как обрабатывать запросы и какие запросы должны передаваться в ваш PHP-скрипт. В противном случае вы, вероятно, просто получите ответ 404.

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

Но после этого, когда запрос был передан в ваш PHP-скрипт, вы наверняка можете использовать только PHP для создания чистых URL-адресов. И я бы предпочел сделать это с PHP, чем с утилитами веб-сервера. Потому что ваше PHP-приложение должно лучше знать, как обрабатывать запрошенный URL.

В PHP вся необходимая информация находится в переменной $_SERVER :

  • $_SERVER['REQUEST_URI'] содержит запрошенный URL-путь и запрос (его можно проанализировать с помощью parse_url) и
  • $_SERVER['PATH_INFO'] содержит PATH_INFO , если вы используете его (см. директиву Apache AcceptPathInfo ).
1 голос
/ 15 мая 2010

Просто взгляните на это ... прежде чем начинать свои дела

http://httpd.apache.org/docs/2.0/misc/rewriteguide.html
0 голосов
/ 13 января 2017

Попробуйте переписать url с помощью php и переписать url с помощью .HTACCESS .

Например, оригинальный URL,

www.domain.com/item.php?product=Cars for sale in amazon 

с php

www.domain.com/item.php?product=Cars-for-sale-in-amazon

и с файлом .HTACCESS

www.domain.com/Cars-for-sale-in-amazon 
0 голосов
/ 15 мая 2010

Нет, никакой скручиваемости или фреймворка это не делает. И даже не php.
URL-адрес веб-сервера .
Поэтому, если вы хотите использовать поддельные URL-адреса, вам необходимо настроить веб-сервер для перенаправления определенных URL-адресов на определенные сценарии. Наиболее распространенным способом является использование веб-сервера Apache с модулем mod_rewrite

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