【问题标题】:PHP Url redirection on index.phpindex.php 上的 PHP 网址重定向
【发布时间】:2015-04-28 16:24:33
【问题描述】:

我正在自学 php,并开始为 Web 门户编写一些代码。我想用看起来像 index.php?page=dashboard 的 url 开发门户。如果我将dashboard.php 放在浏览器中,它不应该显示。

我的查询。

1.如何编程以使用像 index.php?page=dashboard 这样的页面,而不是像dashboard.php 这样拥有单独的 php 文件

  1. 如何使网址看起来像从 www.example.com/index.php?page=dashboard 到 www.example.com/dashboard

【问题讨论】:

  • 你应该在谷歌上搜索 .htaccess 以及如何获得你想要的东西。然后您可以回来向我们展示您尝试过的内容以及您面临的问题。
  • @LelioFaieta 按照我的理解,他想知道 PHP 动态页面是如何工作和重写的。 how to program to use pages like index.php?page=dashboard rather that having seperate php files like dashboard.php 这不仅仅是重写。这是基本的php。
  • @PanamaJack 先生,您是对的。你能给我一些好的例子吗?

标签: php url-rewriting


【解决方案1】:

我认为阅读有关 URI 组件的 wiki article 可能有助于您理解部分 URL。

简单地说,

  • ?表示查询/搜索通常发送到服务器以查询数据库
  • # 表示片段或部分,不发送到服务器,仅由客户端读取。

如果您可以更正问题或提供更好的示例以使其更清楚。

即。 index.php?dashboard 无效。

希望这会有所帮助。

更新 Pedro Lobito 在下面给出了一个解决方案,希望这就是您所要求的。

【讨论】:

  • @adrian-the,很高兴你提到我的回答。 +1 和你的解释。
【解决方案2】:

您可以为此使用 apache mod_rewrite,即:

在你的网站根目录下创建一个名为.htaccess的文件,并放入以下内容:

RewriteEngine On
RewriteRule ^dashboard$ /dashboard.php [L]

这样,当用户导航到www.yoursite.com/dashboard 时,apache 会将他重定向到dashboard.php,而无需更改 url。

【讨论】:

  • 但是我有很多这样的页面。我必须在 htaccess 中为所有页面执行此操作吗?
  • 不客气。您可以为此使用正则表达式。 Google htaccess 正则表达式教程。
【解决方案3】:

您可以在您的服务器/本地创建一个新文件夹并在其中创建一个新的 index.html/index.php,因此如果用户打开 www.example.com/dashboard/ 它会在索引中显示 url 但用户在索引页面上。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-09-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-25
    • 1970-01-01
    • 2010-11-29
    相关资源
    最近更新 更多