使用日期文件夹重写 URL



我有一个看起来像这样的网址:

example.com/upload/2018/01/11/ABCDE.jpg
example.com/upload/2018/01/10/BCDEF.jpg
example.com/upload/2017/02/11/12345.jpg

文件名在所有文件夹之间都是唯一的,我将如何转换该 URL 以访问上面的 url:

example.com/upload/ABCDE.jpg
example.com/upload/BCDEF.jpg
example.com/upload/12345.jpg

使用 htaccess 后,当用户输入

example.com/upload/ABCDE.jpg

重写到我的路由.php首先从数据库中获取原始URL

example.com/upload/route.php?i=ABCDE.jpg

当重写到route.php时,URL仍然没有改变,但是在route.php获得原始URL并使用PHP标头重定向它后,URL被更改了,有什么解决方案可以防止URL更改吗?

这里 .htaccess:

RewriteEngine On
RewriteBase /upload/
RewriteRule ^([^/.]+.jpe?g)$ route.php?i=$1 [L,QSA,NC]

路由.php从数据库获取原始 URL

<?php
   /* some sql selection */
   header("Location: $url"); // redirect to original URL <-- this will change the URL, but i want to prevent it.
?>

要重写为 example.com/upload/route.php?i=ABCDE.jpg ,请使用以下代码在目录中创建一个新的 .htaccess /upload/

RewriteEngine On
RewriteBase /upload/
RewriteRule ^([^/.]+.jpe?g)$ route.php?i=$1 [L,QSA,NC]

最新更新