使用日期文件夹重写URL

问题描述 投票:0回答:1

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

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

重写到我的route.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]

Route.php从数据库中获取原始URL

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

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

RewriteEngine On
RewriteBase /upload/

RewriteRule ^([^/.]+\.jpe?g)$ route.php?i=$1 [L,QSA,NC]
© www.soinside.com 2019 - 2024. All rights reserved.