Как исправить или изменить 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 шт):

Автор решения: yar85

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>';
?>


→ Ссылка