Я работаю над проектом сценария стиля блогового файла блога, имена текстовых файлов расположены так:
05--im-a-title-and-may-c0ntain-lett3r5-and-numb3rs--14-12-2014
я использую explode()
--
разделить на 3 части для индексного списка
$id
$title
$date
ссылка на одну страницу $title
Одностраничный код на данный момент:
$search = $dir . "*" . clean($_GET['title']) . "*" . '.txt';
$files = glob($search);
$getfile = $files[0];
echo file_get_contents($getfile);
Как видите, я использую globe()
и это подстановочные знаки, чтобы соответствовать $_GET
к имени файла, чтобы получить содержимое файла и удалить / скрыть части идентификатора и даты из URL, который работает нормально, но как только файлы начнут накапливаться, он также начнет становиться очень интенсивным на сервере, требуя поиска во многих файлах, поэтому желающих решить эту проблему прежде чем он даже начинает искать более лучший способ удалить / скрыть детали из $_GET
Виста все еще находит правильный файл.
Обновить:
Цель этого состоит в том, чтобы сделать URL-адрес одной страницы более чистым domain.com/i-am-a-title
скорее, чем domain.com/05--im-a-title--14-12-2014
Обновление 2:
RewriteRule ^([a-zA-Z0-9_-]+)$ single.php?title=$1 [L]
Почему вы ищете файл? Непосредственно получить точный файл.
Других решений пока нет …