【问题标题】:PHP: Unique pages per DB item or single php page with _GET?PHP:每个数据库项目的唯一页面或带有_GET的单个php页面?
【发布时间】:2015-07-03 14:51:08
【问题描述】:

我正处于开发网站的早期阶段,该网站将为每个数据库条目提供一个网页。我的问题是 - (1) 使用 $_GET 返回特定数据库项目的单个 php 页面或 (2) 每个项目的单独网页有什么优点和缺点?

例如,示例 1 会是这样 -

  • mysite.com/alphabet.php?letter=a
  • mysite.com/alphabet.php?letter=b
  • mysite.com/alphabet.php?letter=c

示例 2 是 -

  • mysite.com/alphabet/letter_a.php
  • mysite.com/alphabet/letter_b.php
  • mysite.com/alphabet/letter_c.php

我使用 MySQL 构建的唯一网站,我使用了示例 1。鉴于显示这些的代码对于每个条目的功能都相同,我认为示例 1 是最佳实践,但是当我去的时候对于类似的网站,他们似乎更喜欢示例 2。

我已经尝试在这个网站和网络上搜索这个答案,但这似乎是一个尴尬的搜索短语,因为我空手而归。任何见解将不胜感激。

【问题讨论】:

  • 不过,他们可能只是在使用 url 重写。扩展名(.html、.php)或缺少扩展名并不意味着什么
  • 您可以使用示例1,并尝试在.htaccess中重写url mod_rewrite
  • 转换是否双向工作?它将规范网址转换为显示的网址,但还允许用户键入显示的网址以获取规范网址?

标签: php mysql


【解决方案1】:

实际上这两种用法都是过去几年的老派。主要使用以下格式:

  • mysite.com/alphabet/letter/a
  • mysite.com/alphabet/letter/b
  • mysite.com/alphabet/letter/c

这种格式称为friendly urlpretty url,在大多数情况下,它指向Alphabet 控制器的letter 操作,带有一个参数abc,如下所示:

Class AlphabetController {
  public function letter($letter) {
    $DbModel->getListStartingWith($letter);
  }
}

【讨论】:

  • 或者只是简单的$_GET参数的url重写
猜你喜欢
  • 1970-01-01
  • 2017-01-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-04-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多