Использование mod_rewrite было бы лучшим решением, но если вы не можете его использовать, вы все равно можете добиться чего-то подобного, используя MultiViews . Вам, однако, все еще нужно было бы его включить (обычно это делается через .htaccess или Apache conf).
MultiViews предназначен для разрешения согласования содержимого, поэтому вы можете запросить / images / banner, и Apache возвращает соответствующий тип (banner.png, banner.svg и т. Д.) В зависимости от заголовка Accept браузера. Вы можете использовать это, чтобы скрыть расширение ваших скриптов, что позволит вам изменить технологию запуска вашего сайта без изменения ваших URL.
В вашем случае вы можете использовать
/ вопросов / 3870639 / как к порождающим сшивкам-в-PHP
который будет таким же, как
/ questions.php / 3870639 / как к порождающим сшивкам-в-PHP
В пределах questions.php $_SERVER["PATH_INFO"]
будет содержать /3870639/how-to-generate-links-in-php
(или вы можете проанализировать $_SERVER['REQUEST_URI']
, как упоминает BenWells). Используйте explode()
или регулярное выражение, чтобы получить только идентификатор.