我有一个看起来像这样的网址:
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.
?>
要重写到example.com/upload/route.php?i=ABCDE.jpg
,请使用以下代码在/upload/
目录中创建一个新的.htaccess:
RewriteEngine On
RewriteBase /upload/
RewriteRule ^([^/.]+\.jpe?g)$ route.php?i=$1 [L,QSA,NC]