【问题标题】:Hide home page and index page name from url从 url 隐藏主页和索引页面名称
【发布时间】:2012-09-08 14:52:41
【问题描述】:

我有一个网站,比如 www.example.com(不是实际名称)。 在这个网站上我有

index.php(登录前网站的第一页)和 home.php(第一个 登录后的网站页面)

作为我的 DirectoryIndex index.php(in .htaccess),index.php 没有出现在地址栏中。但是登录后,它会显示 home.php 作为链接的一部分。

不想在 url 中显示“home.php”。我想在 .htaccess 中使用一些 url 重写规则,但我被卡住了。

有什么简单的解决办法吗?

如果你们需要任何其他系统/服务器相关信息,请告诉我。

//编辑 我从 facebook.com 得到这个想法。

【问题讨论】:

  • 最简单的方法,恕我直言,拥有单个登录页面 index.php,其中应包括 public.php 或 private.php(在您的情况下为 home.php),具体取决于注销/登录状态。
  • 我看到了所有的答案,但@Stan 你的解决方案正是我想要的。 :)

标签: php apache .htaccess url url-rewriting


【解决方案1】:

这样做的一种方法是在您的 php 脚本中使用某种控制器。在脚本的开头检查以查看是否已登录,并根据答案,需要适当的代码。你不需要 .htaccess 来做这样的事情!

您始终可以使用简单的重定向将 home.php 重命名为更好听的名称,例如 /home

RewriteRule ^home/?$ home.php [NC,L]

当浏览到 yoursite.com/home 时会显示 home.php 页面。显然,即使未登录也可以访问,但您似乎暗示如果未登录,您不打算显示链接!

【讨论】:

    【解决方案2】:

    正如您所提到的,使用网络服务器重定向只是一种解决方法。

    您的问题是 PHP 脚本本身。它当然不知道您的 URI 设置和 DirectoryIndex 文件,因此使用 home.php 作为 URL 目标。

    所以你有两个选择:

    • 使网络服务器重定向/home.php/
    • 调整您的 PHP 脚本以指向 home.php
    • 调整你的PHP脚本来检查home.php的加载时间,如果URI是/home.php,然后重定向到/

    很难说最好的选择是什么。但是您的 URI 设置(目录索引)比您的 php 文件名更有可能发生变化。因此我会选择网络服务器配置——303 redirect/

    【讨论】:

      【解决方案3】:

      恕我直言,最简单的方法是使用单个登录页面index.php,其中应包括public.phpprivate.php(在您的情况下为home.php),具体取决于注销/登录状态。

      【讨论】:

        【解决方案4】:

        在 index.php 页面上试试这个

        <?php require('home.php');?
        

        home.php 是 url 的主页(当然没有 qoute)

        【讨论】:

          猜你喜欢
          • 2021-09-24
          • 2017-06-11
          • 1970-01-01
          • 2014-04-30
          • 2013-04-17
          • 2011-02-26
          • 2011-06-24
          • 2012-08-18
          • 1970-01-01
          相关资源
          最近更新 更多