Как получить входной параметр PHP из URL, как это www.domain.com/item/ABC123

Я хочу, чтобы пользователь посетил www.domain.com/item/ABC123


Как вы можете видеть здесь, ABC123 должен быть входным параметром

как это www.domain.com/item/?Id=ABC123

В / item / находится файл index.php, который будет принимать входной параметр Id. Как передать значение входного параметра с www.domain.com/item/ABC123 во входной параметр id файла index.php?

4 ответа

Используя файл .htaccess

добавить правило перезаписи:

RewriteRule ^/item/([a-zA-Z0-9-]*)$ /item/index.php?id=$1 [QSA,L,E]

Использовать mod_rewrite

Например, http://wettone.com/code/clean-urls

Что-то похожее на это должно работать:

.htaccess

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php

index.php

$uri = preg_replace("#(/+)#","/",$_SERVER["REQUEST_URI"]);
$uri = array_shift(explode("/",$uri));

сейчас, $uri является массивом каждой части URI. поэтому /a/b/c становится:

array(
    0 => "a",
    1 => "b",
    2 => "c",
)

Вам нужно будет переписать URL. По сути, у вас будет.htaccess с правилом перезаписи, которое преобразует ваш URL. Например, www.domain.com/item/some/things/ABC123 в www.domain.com/item/index.php?queryString=some/things/ABC123 и ваш PHP сделает все остальное.

Другие вопросы по тегам