【问题标题】:Hide index.php (or index.html) of an URL隐藏 URL 的 index.php(或 index.html)
【发布时间】:2010-11-20 07:04:26
【问题描述】:

当我在浏览器 (mysite.com) 中键入我的站点地址时,它会重定向到 mysite.com/index.php。为什么不 index.html ?因为我在 Apache 2.2 的 conf 文件中改了。

  • 现在我想隐藏最后一个“index.php”部分。我该怎么做?
  • index.html 和 index.php 会有什么不同吗?

如果通过查找 google,您最终会访问 www.google.com/index.html 会不会很丑? ...这只是为了美观,但上帝对某些人来说很重要。

【问题讨论】:

  • 我重新标记了这个问题,删除了“隐藏”并替换为“mod-rewrite”,因为我认为这可能更相关。不过,我很高兴被证明是错误的 =)
  • 重定向是什么意思?是外部重定向(URL 改变)还是内部重定向(/ 的请求返回与/index.php 相同)?

标签: php html apache url mod-rewrite


【解决方案1】:

我不知道你为什么需要使用 mod_rewrite。在我的网站上,我没有做任何事情来隐藏 index.php,我只是没有将它指向代码中的任何地方,所以我只写 www.example.com/index.php?task=forum 而不是 www.example.com/?task =论坛。它适用于标准 apache 配置。

【讨论】:

  • 同意。这么简单的事情你不需要 MOD_REWRITE。
  • 我会尝试并回复你。
  • 嗯,我有点困惑......我稍后会在其他代码中引用 index.php,但这并不重要。当我编写 mysite.com 时,我被引用到运行 apache 的服务器机器。 Apache 然后显示 index.html。但我从不专门提及它。
  • 检查您被推荐到服务器的位置。可能是httpd配置错误。
【解决方案2】:

如果它正在重定向(例如,通过在 HTTP 标头上发送一个新位置),那么您只能更改执行重定向的代码。

另一方面,如果您的 WebServer 是 Apache,那么有一个配置指令可能会有所帮助:

目录索引

当您将其设置为:index.phpindex.html 时,当您点击服务器上设置 DirectoryIndex 指令的目录。

我想如果你在SERVERFAULT 上发帖,你会得到更好的答案。

祝你好运。

【讨论】:

  • 我可能不清楚,但说“我在 Apache 的 conf 文件中更改了它”的部分就是这个意思。它设置为 index.php。
【解决方案3】:

这似乎在我的环境中工作(不会显示 index.php):

        <form action="." method="POST">
       E-mail: <input type='password' size='50' name='email' />
       <input type='submit' value='Login' />
    </form>

【讨论】:

    【解决方案4】:

    您可以通过 http.conf 文件或应用程序目录中的单个 .htaccess 文件中的 URL 映射轻松地做到这一点。打开mod rewriteHere 是一个简单的教程。

    【讨论】:

    • 我喜欢你的回答,但我认为 Pablo Santa Cruz 和 Thinker 是对的:我不需要深入研究来解决我的具体问题。杀死苍蝇不需要大炮。
    • 同意,如果您只想处理 index.html,那是正确的。如果您有多个“控制”页面,则需要 mod_rewrite。
    猜你喜欢
    • 1970-01-01
    • 2016-12-26
    • 2015-12-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-15
    • 1970-01-01
    • 2015-01-21
    相关资源
    最近更新 更多