bir CGI yazısını Yeniden Yazma teknik bir httpd.conf dosyasındaki bir RewriteRule ile programatic RewriteMap kullanabilirsiniz, bir .htaccess adresinin tek seçenektir.
Komut dosyası doğrudan dosyaya hizmet edebilir, böylece dahili bir yeniden yazma ile mantık tamamen sunucu tarafında olabilir, örn.
getLatest.php olduğunda
RewriteEngine On
RewriteBase/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-s
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^images/(.*)$ /getLatest.php [L]
gibi bir şey .htaccess Kural
:
<?php
$dir = "/srv/www/images";
$pattern = '/\.(jpg|jpeg|png|gif)$/';
$newstamp = 0;
$newname = "";
if ($handle = opendir($dir)) {
while (false !== ($fname = readdir($handle))) {
// Eliminate current directory, parent directory
if (preg_match('/^\.{1,2}$/',$fname)) continue;
// Eliminate all but the permitted file types
if (! preg_match($pattern,$fname)) continue;
$timedat = filemtime("$dir/$fname");
if ($timedat > $newstamp) {
$newstamp = $timedat;
$newname = $fname;
}
}
}
closedir ($handle);
$filepath="$dir/$newname";
$etag = md5_file($filepath);
header("Content-type: image/jpeg");
header('Content-Length: ' . filesize($filepath));
header("Accept-Ranges: bytes");
header("Last-Modified: ".gmdate("D, d M Y H:i:s", $newstamp)." GMT");
header("Etag: $etag");
readfile($filepath);
?>
Not: Kod kısmen Cevapları ödünç: PHP: Get the Latest File Addition in a Directory
sen yapamaz En yeni dosyaya yönlendiren ve oraya gitmek için RewriteCond kullanan bir betik (PHP den)? – mgarciaisaia
Sanırım yapabilirim, ama mümkün olan en hızlı çözümü arıyorum ve php betikleri oluşturmak, ikinci tekrarlamayı sağlamak anlamına gelir. Her dizinde en yeni dosyaya bağlantı ile çözüm düşünüyorum. –