删除 URL 中的 .php 扩展名

2023-12-08

我之前改变了我的.htaccess文件,以便我的“子目录”(13/) 可以成为我用于主域的“目录”,方法是添加:

RewriteCond %{HTTP_HOST} ^(www.)?mydomain.com$
RewriteRule ^(/)?$ 13/index.php [L]

现在我想删除.php扩展名和扩展名如index.php?eventid=3 to index/something

EDIT#1[where something是那个的名字id存储在数据库中]

我该怎么做呢? 以前,我曾在一些 PHP 框架中工作过,但他们已经有专门的url文件。所以我从来没有想太多。但是这次我没有使用任何框架,所以我需要修改.htaccess.

我环顾四周,但找不到任何可靠的博客/来源。

EDIT #2

我的子目录是public_html/13/.

ie, www.mydomain.com重定向到www.mydomain.com/13/现在我想访问www.mydomain.com/13/events.php?eventid=1 as www.mydomain.com/events/44


RewriteRule ^([A-Za-z0-9\-]+)/([A-Za-z0-9\-]+)/([0-9]+)/?$ $1.php?$2=$3

上面的代码会重定向http://www.mydomain.com/index/eventid/3/ to http://www.mydomain.com/index.php?eventid=3

htaccess 非常灵活,一旦您理解了语法,创建上述内容的变体就非常容易。您将需要阅读可以使用的正则表达式,以及重写模块必须提供的无数选项。我的大多数重定向看起来都像上面这样,非常简单。

编辑:您正在寻找的一个示例是 Wordpress,它使用 slugs 来根据比 ID 号更语义的内容来识别页面。您必须对数据库中的项目名称进行 url 编码,并将其作为 slug 存储在数据库中,或者找到其他方法使其可在检索页面内容的数据库查询中使用。然后你的 htaccess 看起来像这样:

RewriteRule ^([A-Za-z0-9\-]+)/([A-Za-z0-9\-]+)/?$ $1.php?slug=$2

在 PHP 中,您需要创建 slugs 并将它们存储在数据库中,以便它们可以在查询中用作 ID。

EDIT2:尝试将整个 htaccess 文件更改为:

<IfModule mod_rewrite.c>
RewriteEngine on

RewriteCond %{HTTP_HOST} ^www\.yourdomain\.com$ [NC]
RewriteRule ^(.*)$ http://yourdomain.com/$1 [R=301,L]

RewriteRule ^([A-Za-z0-9\-]+)/([A-Za-z0-9\-]+)/([0-9]+)/?$ $1.php?$2=$3

</IfModule>

我已经测试过它并且有效。你的 htaccess 中的其他东西把它弄乱了。

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

删除 URL 中的 .php 扩展名 的相关文章

  • 在 Oracle 中使用触发器记录对表的更改

    我的一门课有一个项目 当我们的两个表发生更改时 我们需要创建一个日志 插入 更新 删除 我们需要使用Oracle触发器和PL SQL 在日志文件中 我们需要记录用户ID 日期时间 IP地址和事件 插入 更新 删除 我知道如何设置触发器 但我
  • 如何在 Laravel 中创建一条包罗万象的路线

    我需要一个 Laravelroutes php将捕获所有流量到特定的条目example com premium section网站 以便我可以提示人们在访问优质内容之前成为会员 您还可以通过在参数上使用正则表达式来捕获 全部 Route g
  • 使用 strtotime() 计算时间差(以小时和分钟为单位)[关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions time1
  • 如何将 php Web 应用程序转换为桌面应用程序并保留数据库 [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我们有一个用 PHP 开发的 Web 应用程序 但大多数客户并没有一直连接到互联网 那么 有没有办法将应用程序转换为桌面应用程序 以便
  • 为什么当尝试使用 $this->data 访问 CakePHP 时,密码字段为空?

    我正在实现一个身份验证组件 这是我的注册页面 create User array action gt login echo form gt input primary email array size gt 32 echo form gt
  • Ubuntu 18.04升级后php7.2-curl无法安装

    今天从 16 04 升级到 18 04do release upgrade d 在升级过程中 我被告知一些软件包将被删除 其中包括 删除 libperl5 22 lxc common perl modules 5 22 php imagic
  • 基本表创建 fpdf

    我找不到使用 fpdf 制作表格并从 mysql 数据库获取数据的合适教程 我只是想知道如何创建一个 我在网上尝试示例时遇到了很多错误 例如 我有 名字 中间名 姓氏 年龄 和 电子邮件 列 如何使用 fpdf 创建表格并回显数据库中的条目
  • TCPDF/PHP 和字体:大写数字(血统数字?旧样式?)

    我得到了一种特殊的字体 上面有这样的数字 例如 正如您在 3 上看到的 一些数字下降到基线以下 我想要实现的是 这些数字不会低于该线 并且看起来像这样 在 Word 中 可以在相同字体的字符设置中轻松设置 如何在 TCPDF 中呈现数字 我
  • Facebook 中用户的时区是如何编码的

    我需要检查用户的时区 但我找不到它的真正定义 参考API http developers facebook com docs reference api user says 用户的时区与 UTC 的偏移量 现在在维基百科上这些是可能的时区
  • PHP 的 PDO 可以限制为单个查询吗?

    PHP 的 PDO 允许通过 query 方法或作为准备好的语句同时执行多个查询 以下两个示例均有效 Two SQL queries query SELECT FROM table DROP table Execute via query
  • 如何读取 XML 文件并从中获取值以在 PHP 编码的 HTML 页面中显示

    我有一个 XML 文件 其中有一些重复的标签 其中包含不同的值 我需要获取这些值并显示在我的网页中 请帮助我得到这个 如果您使用 PHP5 可以查看 SimpleXML 您可以在这里找到介绍教程 http www w3schools com
  • PHP 相等变量

    我想知道是否有任何方法可以检查大量变量是否相等 如果我只有几个变量 我可以这样做 if a b a c b c 但是 如果我有 20 个变量 则需要一些时间来编写所有组合 还有其他方法吗 if count array unique arra
  • 根据通过 AJAX 请求的用户输入重绘 google 图表

    我有一个谷歌图表从我的数据库中提取数据 它可以按我想要的方式工作 根据 URL 中的 get 请求 它从所选表中提取数据 我想根据下拉菜单中选定的表通过 ajax 更新此图表 我无法突破的部分是通过 ajax 获取数据响应 我认为下面的代码
  • 在 PHP 中将十进制/双精度/浮点值与 PDO 绑定的最佳方法是什么?

    看来类常量只涵盖PDO PARAM BOOL PDO PARAM INT and PDO PARAM STR用于绑定 您只是将十进制 浮点 双精度值绑定为字符串还是有更好的方法来处理它们 MySQLi 允许使用 d 类型表示 double
  • 在 Apache 服务器上将特定的 .htm 页面处理为 .php [重复]

    这个问题在这里已经有答案了 我正在为 Apache 服务器编程 并且只需要将一个特定的 html 页面 例如 first htm 作为 PHP 脚本进行处理 可以设置吗 SetHandler http httpd apache org do
  • htaccess 301 重定向 - 删除查询字符串 (QSA)

    我一直在努力处理一些 htaccess 重定向 我只是花了一些时间在堆栈上阅读和搜索 但无法获得适合我的场景的答案 我正在将旧客户端网站的 301 重定向到新客户端 旧页面有参数查询 我想从网址中删除它 menu php idCategor
  • Yii 查询时对相关模型的限制

    我遇到了极限问题 我正在使用的代码如下 model PostCategory model record model gt with array posts gt array order gt posts createTime DESC li
  • PHP 时间间隔

    我正在寻找一个看起来应该非常简单的解决方案 但似乎我不能在这里找到任何好的答案 而且我自己似乎无法让它发挥作用 我正在寻找的是设置开始时间 结束时间 然后迭代给定时间间隔之间的一组时间 例如 上午 9 00 下午 5 00 是开始时间 这些
  • PHP简单的html dom解析器与wordpress冲突吗?

    PHP简单的html dom解析器与wordpress冲突吗 因为每当我尝试将其与此代码一起包含在我的标头中时 一切都变成空白 感谢您提前提供任何帮助 当我尝试在 HTML 文档中使用 PHP 包含时 我遇到了同样的问题 但当我使用func
  • 如何显示 PHP 对象

    我有这样的代码 dataRecord1 client gt GetRecord token table filter echo pre print r dataRecord1 echo pre foreach dataRecord1 gt

随机推荐

  • 如何将自定义 JAR 添加到“eclipse-pmd”插件?

    安装了Eclipse PMD 插件 由菲利普 格拉夫 from here 我尝试关联自定义 PMD 规则类 JAR 但找不到它的规定 该 JAR 包含自定义规则类 即extends AbstractJavaRule间接 那么有什么办法可以配
  • Windows VC++ 获取机器型号名称

    谁能告诉我如何获取 Windows 机器的型号名称 我是 Windows VC 的新手 例如 我有一台在 Windows 上运行的 IBM ThinkCenter M50 这里的型号名称是 Think Center M50 我想使用一些 A
  • Visual Studio 代码自动导入

    我正在从 Webstorm 迁移到 Visual Studio Code Webstorm 的性能很糟糕 Visual Studio 代码对于查找我需要的依赖项并导入它们并不是很有帮助 到目前为止 我一直在手动执行此操作 但说实话 我宁愿等
  • Flex 换行扫描野牛

    我想使用相同的 flex bison 扫描仪 解析器作为解释器并加载要解释的文件 在这两种情况下我都无法让换行符解析正常工作 解释器 有一个提示 我可以输入按 ENTER 终止的命令 文件 这是一个示例输入文件 切 begin print
  • PyVista 中的 3D 表面未正确生成。我试图避免关闭中心开口,但不知道该怎么做

    PyVista 填充开口出现不应填充的问题 import math import numpy as np import matplotlib as mpl import pyvista as pv mpl use Qt5Agg mpl rc
  • MPMediaItemPropertyArtwork 导致崩溃(奇怪的问题)

    allocations before running extra loop 代码 loading items to the array there are no memory warnings after this is completed
  • 使用 Excel VBA 从网站抓取文本

    我找到了这个article解释如何使用 Excel VBA 从网站上抓取某些标签 下面的代码获取第一个的内容 p 它找到的标签 Sub get title header Dim wb As Object Dim doc As Object
  • 向 UINavigationBar 后退按钮添加方法?

    如何向 UINavigationbar 后退按钮添加方法 以便每当我单击该后退按钮时 我需要检查一些值并显示 UIAlertView 有什么选择吗 我尝试过这个方法 但它对我有用 void navigationController UINa
  • 使用 javascript (codeigniter) 将 PHP 以动态形式导入数据库

    我想使用数组插入多个数据 PHP CodeIgniter 但我仍然发现一个错误 错误是数组不清楚 function insert hitung count POST pembicara pengisi implode POST pembic
  • 按 MySQL 中的当前日期过滤

    如何将当前日期传递给 mysql 中的查询 例如这样的查询 select from Dailytimesheet dailytimesheet where dailytimesheet TrackingDate 2010 05 03 在 M
  • 初始化与赋值

    术语 初始化 和 赋值 似乎可以互换使用 我做了一些搜索 似乎技术上可能存在差异 我的理解是 在变量的上下文中 当 JavaScript 引擎使其可供使用和赋值时 变量就会被初始化 无论是显式完成 如let foo 1 或通过 JavaSc
  • 将 aleph 与 SWI-prolog 结合使用:source_sink `library(aleph)' 不存在

    我正在尝试使用 SWI Prolog 导入 Aleph 当我运行我的程序时 出现以下错误 我需要做什么才能导入library aleph 顺便说一下 我已经下载了aleph pl对于我的程序 这是我的测试程序 我知道aleph库一定有问题
  • 如何在 Laravel 中获取非键列字段的不同值?

    这可能很容易 但不知道如何做 我有一个表 它可以具有特定非键列字段的重复值 如何使用查询生成器或 Eloquent 编写 SQL 查询来获取该列具有不同值的行 请注意 我不仅仅获取该列 它与其他列值结合在一起 所以distinct 可能真的
  • Intellij 控制台输出

    这是一段简单代码的输出 Library Java JavaVirtualMachines jdk 9 jdk Contents Home bin java javaagent Applications IntelliJ IDEA CE ap
  • lightbox 2:如何通过 javascript 添加动态图像

    我在尝试时遇到困难动态添加图像 since 灯箱2 由 lokesh dakar 在文档加载后由现有的 html 编码图像进行初始化 并且在第一次之后不再解析文档 如果我尝试使用 javascript 添加新图像 例如将它们附加到正文中 它
  • 将 angular-ui-grid 字体复制到 .tmp/fonts

    我正在经历一个known issue with Angular UI 网格我的一些字体在生产中看起来像是韩文 我申请了某个修复通过添加以下 CSS font face font family ui grid src url fonts ui
  • Rails 未定义 Rails 模块的方法“组”

    在 Mac OS X 上工作 尝试学习 Rails 当我输入 rails generated Scaffold User name string email string 时 出现以下错误 Users dnf1991 rails proje
  • python/matplotlib - 寄生双轴缩放

    尝试绘制频谱 即速度与强度的关系 下部 x 轴 速度 上部双轴 频率 它们之间的关系 多普勒公式 为 f 1 v c f 0 其中 f 是结果频率 v 是速度 c 是光速 f 0 是 v 0 时的频率 即 v lsr 我试图通过查看来解决它
  • jquery 清理旧对话框

    我正在尝试使用 UI 对话框创建模式对话框 对话框工作正常 一切都很好 我使用角落里的 X 关闭对话框 我尝试使用dialog destroy remove 但我当然无法再次打开它 我想我只是不明白如何重新初始化对话框并且其中没有旧值 fu
  • 删除 URL 中的 .php 扩展名

    我之前改变了我的 htaccess文件 以便我的 子目录 13 可以成为我用于主域的 目录 方法是添加 RewriteCond HTTP HOST www mydomain com RewriteRule 13 index php L 现在