Как получить входной параметр 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 сделает все остальное.