Ответ 1
См. переписывание URL-адресов в PHP без .htaccess
, если вы не хотите или не можете использовать .htaccess
, иначе обратитесь к Как переписать URL в PHP?.
Я хочу создать веб-сайт с чистым PHP. Я хочу скрыть параметры URL. То есть Я хочу сделать свой веб-сайт чистыми URL-адресами. Есть ли способ сделать это без использования каких-либо фреймворков? Полезно ли cURL сделать это?
См. переписывание URL-адресов в PHP без .htaccess
, если вы не хотите или не можете использовать .htaccess
, иначе обратитесь к Как переписать URL в PHP?.
Просто взгляните на него... прежде чем начинать свои вещи
http://httpd.apache.org/docs/2.0/misc/rewriteguide.html
Прежде всего: это невозможно с использованием PHP (по крайней мере, не с теми формами URL, которые я думаю при чтении чистого URL). Веб-сервер должен знать, как обрабатывать запросы и какие запросы должны быть переданы на ваш PHP script. В противном случае вы, вероятно, просто получите ответ 404.
Поскольку поведение веб-сервера по умолчанию заключается в том, чтобы просто взять запрошенный URL-адрес и попытаться сопоставить его с существующим файлом ниже корня документа. Если был найден соответствующий файл, содержимое содержимого передается обратно клиенту или - как в случае файлов PHP - содержимое файлов передается соответствующему интерпретатору, и возвращенные данные передаются обратно клиенту. И если файл не был найден, ну, он отвечает кодом состояния 404. Поэтому в какой-то момент вам нужно настроить свой веб-сервер.
Но после этого, когда запрос был передан вашему PHP script, вы можете использовать только PHP для установления чистых URL-адресов. И я бы предпочел сделать это с PHP, чем с помощью утилит веб-сервера. Поскольку ваше PHP-приложение должно лучше знать, как обрабатывать запрошенный URL-адрес.
В PHP вся необходимая информация находится в переменной $_SERVER
:
$_SERVER['REQUEST_URI']
содержит запрошенный URL-адрес и запрос (вы можете разобрать это с помощью parse_url
) и$_SERVER['PATH_INFO']
содержит PATH_INFO, если вы используете его (см. Apaches AcceptPathInfo
директива).Из того, что я прочитал и понял, есть два способа сделать это:
mod_rerite
, где все, кажется, исправлено с помощью правил перезаписи через файл .htaccess
, который достаточно прост в использовании, но может накладывать большую нагрузку на веб-сервер с большими сайтами..htaccess
, но только для перенаправления всего обратно на index.php, где диспетчер перенаправляет пути по мере необходимости. Там фантастический учебник этого на phpvideotutorials.com учебник называется tumblelog.Нет, никакой скручивания или рамки не делают этого. Ни php вообще.
Это веб-сервер, который имеет дело с URL-адресами.
Итак, если вы хотите поддельные URL-адреса, вам нужно настроить веб-сервер для перенаправления определенных URL-адресов на определенные сценарии.
Наиболее распространенным способом является использование веб-сервера Apache с модулем mod_rewrite.
Попробуйте переписать url using 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