Как исправить или изменить GET запрос правильно? Для API
Помогите исправить GET запрос. Все вроде бы работает нормально, но мне нужно получать информацию не просто по ссылке в https://tmdb.com/ или вот так https://tmdb.com/index.php?id=45782 нужно вместо ?id=45782 сделать https://tmdb.com/45782 Как это организовать или исправить? Правка разными методами .htaccess не помогло.
session_start();
// TMDB API ' . urldecode(http_build_query($params))
// $id = $_GET['id'];
$id = $_GET['id'] = '45782';
$tmdbparam = array(
'api_key' => "KEY", // Или используйте временный ключ - 167bec11ad1d2c8ced5935a645b04e1c
'language' => "ru-RU"
);
$tmdb = file_get_contents('https://api.themoviedb.org/3/tv/'.$id.'?' . urldecode(http_build_query($tmdbparam)));
$tmdb = json_decode($tmdb, true);
//TMDB API
/*else
{
die('Такой фильм не найден.');
}
header("Location: /info");
}
*/
echo '<pre>'; print_r($tmdb); echo '</pre>';
Ответы (2 шт):
JS (для серверного ответа в JSON, например), без обработки ошибок:
// origin == 'scheme://hostname'
const response => await fetch(`${origin}/${id}/`).then(r => r.json());
.htaccess (/1234/ ? /index.php?id=1234):
RewriteCond %{REQUEST_URI} ^/?(\d+)/?$
RewriteRule ^ /index.php?id=%1 [L]
В серверном скрипте на PHP - получение query параметра id все так же через $_GET, т.е. концептуально ничего не меняется (только запихивать значение в $_GET['id'] не надо, ведь оно ожидается в запросе от клиента).
Вопрос закрыт!. всего 2 строчки в начале:
<?php
$url1 = (isset($_SERVER['HTTPS']) && ($_SERVER['HTTPS'] == 'on')) ? 'https://' : 'http://';
$url1 = $_SERVER['REQUEST_URI'];
$tmdbparam = array(
'api_key' => "167bec11ad1d2c8ced5935a645b04e1c", // Или используйте временный ключ - 167bec11ad1d2c8ced5935a645b04e1c
'language' => "ru-RU"
);
$tmdb = file_get_contents('https://api.themoviedb.org/3/tv/'.$url1.'?' . urldecode(http_build_query($tmdbparam)));
$tmdb = json_decode($tmdb, true);
echo '<pre>'; print_r($tmdb); echo '</pre>';
?>