.htaccess重写-重定向到一个php文件重定向,希望保持原来的URL


.htaccess rewrite - redirect to a php file that redirects, want to keep original URL

现在当用户输入像

这样的东西时
site.com/shirt/shirtid

它们被rewriterrule重定向,rewriterrule写着

RewriteRule ^shirt/([a-z][0-9a-z_]+)$ /utils/phurl/redirect.php?alias=$1 [L,R=301]

然后将它们重定向到分配该别名的页面。

当PHP重定向发生时(通过header(Location:$url)),但是,它将url从site.com/shirt/shirtid更改为我想要缩短的非常长的url。有没有一种方法可以让我在整个重定向过程中保持原来的URL ?

。用户访问site.com/shirt/shirtid,重定向过程发生,地址栏中的URL仍然是site.com/shirt/shirtid

当您通过PHP传递重定向头时,默认情况下,您将导致页面加载重定向。当然,您可以重定向到任何您想要的URL格式。我不知道你怎么能让它和原来的URL一样,但是,因为这会让你陷入一个无限重定向循环。

在我看来,在PHP中,您实际上不想做重定向,而是根据别名值(基本上是前端控制器模式)有条件地包含一些页面逻辑集。