mod_rewrite 用名称替换 ID

2024-04-05

我的网站上有一个动态显示内容的页面。网址结构是mywebsite.com/giveaway/giveaway.php?id=(any number)我希望将该动态 URL 更改为静态/友好 URLmywebsite.com/giveaway/name-of-giveaway-corresponding-to-id。 在我的根文件夹中找到的 .htaccess 文件中,我有以下内容:

    RewriteEngine On

    # external redirect from actual URL to pretty one
    RewriteCond %{THE_REQUEST} \s/+\?page=([^\s&]+) [NC]
    RewriteRule ^ /page/%1? [R=301,L]

    # existing rule
    RewriteRule ^page/([^/]+)/?$ /?page=$1 [L,QSA]

    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^([^\.]+)$ $1.php [L]

当前的 .htaccess 文件删除了 .php 并重定向并更改了我网站上的 URL
mywebsite.com?page=number to mywebsite.com/page/number

我知道你必须从我的数据库中获取与 php 中的 ID 相对应的名称并使用它,但我不确定如何在 .htaccess 文件中编写代码或如何使用和传递数据库中的结果。谢谢你的帮助!


我不知道这是否是你的意思,但你无法将作为底层 Apache 服务器层一部分的重写引擎连接到数据库,而数据库必须通过 php 访问。

所以你不能直接将“name-of-giveaway-corresponding-to-id”重写为id,你需要将其重写为类似giveaway.php?nameofgiveaway=(name of Giveaway)的内容,然后在数据库中搜索那个字符串。

您的方法是添加重写规则,例如

RewriteRule ^giveaway/([^/]+)$ giveaway.php?nameofgiveaway=$1 [L,QSA] 

(未经测试,如果有问题请原谅)并搜索 $_GET['nameofgiveaway']。

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

mod_rewrite 用名称替换 ID 的相关文章

随机推荐

  • 基数排序如何工作?

    我不知道为什么这对我来说如此难以理解 我浏览了 wiki 页面和伪代码 以及实际代码 试图了解基数排序算法的工作原理 相对于存储桶 我在这里寻找错误的东西吗 我应该研究桶排序吗 有人能给我一个简化版本的工作原理吗 作为参考 这里是一个代码块
  • 当 ListView 项可见或不可见时获取事件

    我想知道 ListView 中的视图是否有某种 OnVisibilyChangeListener 因为我希望每次 ListView 项更改其可见性时都调用一个方法 我知道 OnPreDrawListener 来检查视图是否可见 但是我如何检
  • 如何在ansible中为变量分配随机数?

    这是一个 ansible 脚本 我希望它能打印出相同的随机数 3 次 相反 它打印出三个随机数 如何将随机数分配给 ansible 中的变量 以便它在整个剧本中固定 name Test random filter hosts localho
  • 为什么“this.setState”不起作用?

    我正在从 API 端点获取 JSON 数据 并希望使用此数据来显示表格 这是我目前正在尝试的 var DeliveryOptionsTHeadTh React createClass render function return th th
  • 焦点问题集中在表单加载上

    我有一个 ActiveX 控件 可能是用 VB 6 0 或 C 编写的 我们在 C WinForms 程序中将其用作 AxInterop 它非常像一个文本框 但具有一些特殊的逻辑等 我们已将其添加到工具栏 当表单加载时 我希望键盘焦点位于该
  • 传输安全已阻止明文 HTTP

    我需要在我的info plist根据以下错误消息启用 HTTP 模式 传输安全已阻止明文 HTTP http 资源 加载 因为它不安全 可以通过以下方式配置临时例外 您应用程序的 Info plist 文件 假设我的域名是example c
  • 从给定日期中提取日、月和年的最快方法是什么?

    我将包含 150 000 行的 csv 文件读取到 pandas 数据框中 该数据框有一个字段 Date 日期为yyyy mm dd格式 我想从中提取月 日和年并将其复制到数据框的列中 Month Day and Year分别 对于几百条记
  • 对 Groupby 组内的 Pandas 数据框数据进行排序

    我有一个大的 pandas 数据框 其结构可以表示为 id date status 0 12 2015 05 01 0 1 12 2015 05 22 1 2 12 2015 05 14 1 3 12 2015 05 06 0 4 45 2
  • 我应该在removeChild之前从元素中删除事件处理程序吗?

    假设我有一个元素 img 并附加了一些事件 例如click 不是内联的onclick somewhere i wrote foo addEventListener click clickHandler false somewhere i w
  • Application Insights 未在 Azure 预览门户中显示数据

    我在 Azure 上有一个现有的 Web 应用程序 其中有一些非常有限的应用程序洞察监控 端点检查 我想我会引入其余的功能 所以我按照以下说明将遥测添加到我的项目中http azure microsoft com en us documen
  • 如何将 Visual Studio 2010 SP1 解决方案转换为 Visual Studio 2012 解决方案? [复制]

    这个问题在这里已经有答案了 我知道它们 大多数项目类型 在 2010 SP1 和 2012 之间是相互兼容的 并且没有必要进行转换 但是如果我仍然需要它怎么办 如果我需要将我的解决方案标记为 Visual Studio 2012 解决方案该
  • 在 Xcode 中使用 git 时 UserInterfaceState.xcuserstate 未提交

    当我尝试提交代码项目时 它显示一个名为 UserInterfaceState xcuserstate 的文件 必须提交该文件 一旦我提交并尝试将我的项目推送到 git Xcode 就会弹出一条消息 提示 工作副本 app 有未提交的更改 当
  • 使用 bxslider 时图像上没有箭头

    我刚刚了解了 bxslider 并通过阅读文档制作了我的第一个幻灯片 但我看不到图像上的左右箭头 因此可以通过单击显示下一张图像如以下示例所示 这个链接 http bxslider com examples image slideshow
  • 我怎样才能为基础 R 做出小小的贡献?

    偶尔我会看到一些可以改进 R 最近是 IQR 命令 和 R 文档 就在本周可能会详细说明aggregate tapply 和 by 之间的差异以及更好地互连 的小方法 但我看不出有什么办法可以真正回报这一贡献 我查看了开发人员网站 似乎我的
  • PHP SQL数据库查询错误信息

    这段SQL代码有什么问题吗 我从教程中得到它 但它返回以下错误消息 数据库查询失败 您有一个 SQL 语法错误 检查 与您的 MySQL 对应的手册 服务器版本的正确语法 在第 1 行 LIMIT 1 附近使用 function get s
  • 使用 python 将 tsv 文件转换为 xls/xlsx

    我想将 tsv 格式的文件转换为 xls xlsx 我尝试使用 os rename sample tsv sample xlsx 但转换后的文件已损坏 还有其他方法吗 这是一个使用 TSV 转换为 XLSX 的简单示例XlsxWriter
  • Android - 使用应用程序上下文创建 WebView 后如何将其附加到 Activity

    我正在使用应用程序上下文在后台创建一个 Android WebView 以便在我需要显示它时加载并准备好它 当需要时 我使用 addView 将其附加到我的 Activity 中 这通常工作得很好 但是当我尝试打开 HTML 选择下拉列表时
  • 将文本输入滑动窗口并进行计数

    我有这样的文件 超过 1 个缺少行 20 14370 rs6054257 G A 29 PASS NS 3 DP 14 AF 0 5 DB H2 GT GQ DP HQ 0 0 48 1 51 51 20 17330 T A 3 q10 N
  • 通过点击表格行触发jquery

    我喜欢在表格中有一行使其可点击 而不仅仅是行中的文本 因此我使用以下代码使其打开另一个页面 td 但是现在我使用 jquery 和下面的代码在 div 中而不是在新页面中打开新页面 我将如何更新我的行代码以打开 div 中的内容而不是在新页
  • mod_rewrite 用名称替换 ID

    我的网站上有一个动态显示内容的页面 网址结构是mywebsite com giveaway giveaway php id any number 我希望将该动态 URL 更改为静态 友好 URLmywebsite com giveaway