В моем хостинге содержатся некоторые файлы: 1.txt, 2.txt, …, 1000.txt
Когда я набираю доступ к ЛЮБОМ URL, который содержит номер, будет показано содержимое файла, соответствующего этому номеру.
Например: когда я получаю доступ:
http://mywebsite.com/something-9-keyword ----> content of 9.txt will be showed
http://mywebsite.com/2-anything-keyword ------> content of 2.txt will be showed
http://mywebsite.com/how-to-show-content-3 ------> content of 3.txt will be showed
Как это сделать с помощью PHP? Большое спасибо !
(Опция 1) Получение идентификатора файла с использованием файла Apache .htaccess:
RewriteEngine On
RewriteRule .*?(\d+).* %{QUERY_STRING}?textFileId=$1 [L]
(а потом в PHP)
$textFileId = $_GET['textFileId'];
(Вариант № 2) Получение идентификатора файла с использованием только PHP:
if(preg_match("#.*?(\d+).*#", $_SERVER['REQUEST_URI'], $matches)) {
$textFileId = $matches[1];
}
После сортировки вы можете включить текстовый файл в шаблон PHP / HTML:
<!DOCTYPE html>
(etc, etc)
<body>
<div id="stuff">
<?php include("$textFileId.txt"); ?>
</div>
</body>
Вы можете поместить файл .htaccess в корневой каталог вашего домена, содержащий:
RewriteEngine On
RewriteRule .*?(\d+).* $1.txt [L]
Это отсканирует и перепишет запрос, как вы упоминали ранее. Имейте в виду, что будет использоваться только первый номер, поэтому /something-91-keyword-43-foo
будет переписан в /91.txt
,
Я предполагаю, что: