URL 重写查询数据库?

2024-04-26

我试图了解 URL 重写的工作原理。我有以下链接。

mysite.com/profile.php?id=23

我想用用户的名字和姓氏重写上面的网址。

mysite.com/directory/liam-gallagher

然而,根据我读到的内容,您指定了 url 应输出的规则,但如何查询我的表以获取每个用户名?

抱歉,如果这很难理解,我自己也很困惑!


你从错误的方向看待这个问题。你不能进行那种自动 url 重写。最好的方法是创建一个完整的 url 重写:

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteRule ^index\.php$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]
</IfModule>

并在数据库中为用户创建一个将用作 url 的特定名称。

+---------+----------+------+-----------+----------------+
| user_id | username | name | surname   | url            |
+---------+----------+------+-----------+----------------+
|      23 | liam     | Liam | Gallagher | liam-gallagher |
+---------+----------+------+-----------+----------------+

现在,当有人访问您的http://mysite.com/directory/liam-gallagher,您可以阅读最后一个条目并找到user_id在您的数据库中并让您的脚本完成其余的工作。

另一种方式是Pekka https://stackoverflow.com/users/187606/pekka建议。创建一个像这样的网址http://mysite.com/directory/23/liam-gallagher并从链接中读取 id。但我个人不喜欢这种网址。在我看来,它们只是快速/惰性的解决方法。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

URL 重写查询数据库? 的相关文章

随机推荐

  • 上传到服务器后,页面上只有一个 getter 起作用

    我有一个使用 Struts2 框架的网站 它在我的本地计算机上运行良好 但是当我将其上传到远程服务器 托管 时 一些 getter 和 setter 变得不调用 例如 操作 ForecastAction java JSP 预测 jsp 这是
  • 在 cakephp 2.0.2 中使用 shell 类的插件组件

    我想使用我的 shell 类中的插件组件 我正在尝试使用 App import Component Myplugin Mycomponent this gt Mycomponent new MycomponentComponent 不幸的是
  • 如何处理 Android 国际象棋应用程序中的拖动?

    我刚刚开始开发 android 应用程序 使用 java 在 android studio 中 如果这很重要的话 我正在做一个小项目 只是为了好玩 我想创建自己的国际象棋应用程序 到目前为止我已经做了很多事情 我设置了一个菜单来切换到另一个
  • 如何识别 Pandas 的 Parquet 后端

    据我所知 Pandas 可以使用不同的后端读取和写入 Parquet 文件 pyarrow and fastparquet 我有一个带有 Intel 发行版的 Conda 发行版 并且 它可以工作 我可以使用pandas DataFrame
  • 我们能让 1 == 2 成立吗? [复制]

    这个问题在这里已经有答案了 Python ints are objects封装实际数值 我们可以修改该值吗 例如设置对象的值1到2 以便1 2变成True 我们可以 但不要在家里这样做 说真的 1对象在很多地方使用 我不知道这可能会破坏什么
  • R 错误:“check.data 中的错误:参数应该是数字”

    我正在学习 R 编程语言的 kohonen 库 我创建了一些人工数据来尝试一些功能 我尝试仅对连续 即 type as numeric 数据使用 supersom 函数 一切正常 然而 当我尝试在连续和分类 type as factor 上
  • 播放 video.js ustream m3u8 文件流

    我尝试在网页中播放带有 video js 的 m3u8 文件流 但我无法做到这一点 我不知道错误在哪里
  • 当前安全范围书签的内核资源限制是多少?

    的文档 NSURL startAccessingSecurityScopedResource state 您必须平衡对 startAccessingSecurityScopedResource 方法的每次调用与对 stopAccessing
  • 这是 VB.NET 编译器中的错误还是设计造成的?

    我发现 C 和 VB 编译器之间的重载解析存在差异 我不确定这是错误还是设计使然 Public Class Class1 Public Sub ThisBreaks These work Foo Of String Function Str
  • 为什么 MYSQL DB 在对 Django models.DateTimeField 求平均值时返回损坏的值?

    我正在 MySQL 实际上是 MariaDB 数据库上运行 Django 应用程序 我的 Django 模型如下所示 from django db import models from django db models import Avg
  • 在可移植 C 中模拟打包结构

    我有以下结构 typedef struct Octree uint64 t data uint8 t alignas 8 alloc uint8 t dataalloc uint16 t size datasize node0 Node8
  • Delphi COM 对象中的早期绑定和后期绑定在性能方面哪个更好

    在delphi中 如果要创建COM对象 可以通过两种方式来完成 第一个是早期绑定 例如 uses MSScriptControl TLB MS Script Control var obj IScriptControl begin obj
  • 处理嵌入式系统中的堆栈溢出

    在嵌入式软件中 如何以通用方式处理堆栈溢出 我遇到过一些确实以硬件方式提供保护的处理器 例如最近的 AMD 处理器 维基百科上有一些技术 但这些是真正实用的方法吗 任何人都可以给出一个在当今 32 位嵌入式处理器的所有情况下都适用的明确建议
  • CRC 16 -DECT 与聚 x^16 + x^10 + x^8 + x^7 + x^3 + 1

    相信我 我已经尝试过编写这个代码 尝试过谷歌 但没有任何运气 我正在尝试使用这个 Poly 实现 CRC16 x 16 x 10 x 8 x 7 x 3 1 使用C语言 因为我对 PHP 有了更好的了解 所以我试图让一个函数运行 但我没有得
  • 有没有好的 LINQ 方法来计算笛卡尔积?

    我有一个像这样的类结构 Person Dogs dog 1 dog 2 etc Puppies puppy A puppy B etc 有一个人 他有 1 n 只狗 每只狗有 1 n 只小狗 我想要一份所有可能的小狗组合的列表 从每只狗中取
  • LLVM到底是什么?

    我一直听说 LLVM 它是 Perl 语言 然后是 Haskell 语言 然后有人用其他语言使用它 它是什么 它与 GCC 到底有什么区别 视角 安全等 LLVM 是一个用于构建 优化和生成中间和 或二进制机器代码的库 LLVM 可以用作编
  • 找不到 Android 支持库和媒体路由器 .jar 文件

    我对 Xamarin 完全陌生 我想将地图添加到 Xamarin Android 中的默认 hello world 我已经按照指南一步步准备了清单 还通过 sdk 管理器下载了支持库 但出现错误 要求我安装 SL 和 SL 媒体路由器 这里
  • AVCaptureMetadataOutput().rectOfInterest 不工作

    我正在构建一个UIView它有一个覆盖的盒子 最终目标是让 QR 码阅读器仅在 QR 落入盒子内时触发 我知道我需要设置 rectOfInterest 与黄色框相同 但在当前实现 下面的代码 中 阅读器不起作用 public overrid
  • Dotfuscator Pro无法读取Jenkins构建服务器下的许可信息

    我试图让 Dotfuscator Pro 4 13 在单元测试和创建安装包之间运行 我们使用的构建服务器是 Windows Server 2008 R2 上的 Jenkins 1 487 dotfuscator 的命令行非常简单 我使用 q
  • URL 重写查询数据库?

    我试图了解 URL 重写的工作原理 我有以下链接 mysite com profile php id 23 我想用用户的名字和姓氏重写上面的网址 mysite com directory liam gallagher 然而 根据我读到的内容