在RewriteRule到PHP脚本之后,从PHP中进行内部重定向

时间:2009-01-17 13:29:48

标签: php apache mod-rewrite

我有一些mod_rewrite重写正确地将URL重定向到脚本。在脚本中,我想转到另一个文件,而不会引起另一个请求/更改URL。

我已尝试使用位置和元刷新,但它们并不像期望的那样顺畅。

有没有办法更改脚本甚至将数据返回到重写规则,以便可以进一步重写?

improfane.domain.com被发送到从数据库获取用户ID的脚本,然后我重定向到具有用户ID的配置文件页面。我希望它更平滑,没有重定向。这意味着improfane.domain.com将保留在URL中,而不是转到domain.com/?profile=6

由于

2 个答案:

答案 0 :(得分:3)

您可以使用以下php指令之一包含真实目标文件:

include(filename)
require(filename)
include_once(filename)
require_once(filename)

答案 1 :(得分:1)

您应该使用front controller(也称为bootstrapping)来确定路线并包含正确的脚本(而不是重定向)。前端控制器是应用程序的单一入口点,允许您根据需要处理路由。

大多数框架都有一个nice implementation的前端控制器,但出于简单的目的,你可以自己动手。