有没有一种方法可以在不重定向的情况下重写php中的URL

时间:2014-07-10 13:42:59

标签: php .htaccess redirect url-rewriting

我一直在构建一个Web应用程序,但我遇到了一个相当恼人的问题。

我目前的布局是:

我有一个文件可以执行所有不可避免地生成页面的函数调用。在此文件实际生成可查看页面之前,它首先检查用户是否已登录。如果用户已登录,则显示该页面。如果用户未登录,我们将重定向到登录页面。同样,如果用户已登录并尝试查看登录页面,则用户将被重定向到其主页。

我的问题是相当哲学的,但我觉得重定向是不必要的,因为我可以轻松打印用户应该重定向到的页面而不执行重定向。这种方法的问题是这不会编辑网址。

以下是一个例子:

  • 用户导航到仅限登录用户的页面/ app / home。我们点击数据库以查看用户是否已登录。他们不是,因此我们将它们重定向到/ app / login,这仅限于未登录的用户。我们点击数据库以查看用户是否未登录in。它们不是,所以我们显示/ app / login页面。

重定向步骤似乎没必要,因为它增加了另一个不必要的数据库命中。我希望这样:

  • 用户导航到仅限登录用户的页面/ app / home。我们点击数据库以查看用户是否已登录。他们不是,因此我们将显示的网址更改为/ app / login并显示/ app / login页面。

我想指出,我没有遇到性能问题。第二种方法看起来更优雅。我知道有一个javascript方法允许你修改网址,但我更喜欢做这样的事情是php,因为我还没有离开服务器。

0 个答案:

没有答案