使用 htaccess 创建 SEO 友好的 url

2023-12-08

我正在尝试重写网站的 url,我应该提到的是,index.php 现在的工作方式是获取 p(页面)参数并包含适当的文件。

所以请求一个页面是这样的:

www.domain.com/index.php?p=home
www.domain.com/index.php?p=search
www.domain.com/index.php?p=profile
www.domain.com/index.php?p=contact

我找到了如何为此创建重写规则:

RewriteRule ^([A-Za-z0-9-]+)/?$ index.php?p=$1

so now www.domain.com/home会给我主页

但我还需要一个友好的网址

www.domain.com/index.php?p=profile&id=20

to

www.domain.com/profile/20/profile-friendly-name

or better

www.domain.com/profile/profile-friendly-name

*个人资料友好名称是指公司名称

要求:

  1. 为所有页面提供友好的 URL,例如/主页,/联系

  2. 为个人资料页面设置一个特别友好的 URL,其中包含 url 中的个人资料名称

我的问题:

  1. 如何使用现有的 url 格式 (index.php?p=profile&id=20) 将配置文件友好名称添加到 url 中?

  2. 我可以在那里只有一个唯一的名字(没有ID),就像我上次那样 例子?

  3. 如果我设法做到这一点,我是否必须更改所有现有的网址 在网站内(链接、图像 URL、文件)到友好的 格式?

  4. 我注意到应用第一个 RewriteRule 后一些 css 不包括样式表和 js。怎么了?


RewriteRule ^profile/([0-9]+)/([A-Za-z0-9-]+)/?$ index.php?p=profile&id=$1

应该为:

www.domain.com/index.php?p=profile&id=20

to

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

使用 htaccess 创建 SEO 友好的 url 的相关文章

  • 拒绝访问特定目录中的特定文件类型

    对于某些应用程序 用户可以上传自己的文件 由于这可能是非常大的文件 因此他们可以通过自己的 FTP 客户端上传这些文件 当然 我不希望他们上传一些可以访问服务器上所有其他文件的 PHP 文件 我想要防止这种行为的方法之一是拒绝仅访问这些文件
  • 如何复制 ArrayIterator 以保留其当前迭代位置?

    因为这似乎是我必须做的才能达到这种效果 arr a gt first b gt second iter new ArrayIterator arr Do a bunch of iterations iter gt next new iter
  • facebook php - 如何获取专辑封面照片

    我需要使用 PHP SDK Facebook 获取专辑封面照片 我尝试 https graph facebook com ALBUM ID picture type album 但我得到默认图像 例如 获取用户 https graph fa
  • PHP - 获取base64图像字符串解码并保存为jpg(生成空图像)

    嗨 我实际上是通过 ajax 发送一个 base64 图像字符串到一个 php 脚本 该脚本只是解码字符串并将内容保存为 jpg 文件 但结果是一张空图像 这怎么可能 PHP脚本 uploadedPhotos array photo 1 p
  • Apache 从子域重写为 www 但保留所有永久链接

    我已经研究了大约 2 个小时 虽然大多数主题都很相似 但没有一个解释如何做我想做的事情 我正在将一个结构为 blog domain com 的博客移至 www domain com blog 当我重定向时 我需要保留博客文章的永久链接 所以
  • Yii2 异常:ApcCache 需要加载 PHP apc 扩展

    在高级模板前端的主配置中配置缓存组件时 我收到异常 在我的 php ini 上启用了扩展 rsults 如何解决此问题 前端 config main php cache gt class gt yii caching ApcCache ke
  • PHP 或 WAMP 不确定是什么

    我已经安装了 WAMP 服务器 2 0 PHP 5 4 3 安装WAMP后我已经重新启动了所有服务并且可以打开 phpinfo 显示良好 phpmyadmin 它也显示得很好 我可以使用数据库 然而 当在 Chrome 中运行简单的 php
  • 如何使用 Facebook SDK API 为页面/网址“点赞”?

    我正在使用这段代码 facebook gt api me likes post array url gt http www google com 我收到以下错误 Fatal error Uncaught OAuthException 200
  • 在字符串中间添加一个字符

    可能有一个简单的解决方案可以解决这个问题 但会引起面部表情 我将时间存储为 4 个字符长的字符串 即 1300 我试图将该字符串显示为 13 00 我觉得必须有一个比我现在正在做的更优雅的解决方案 我目前有 startTime get fi
  • 在 Symfony 序列化中更改序列化属性名称

    我正在使用 Symfony 序列化器 效果很好 use Symfony Component Serializer Annotation Groups Groups default notification public function g
  • 使用先前的反向引用作为命名捕获组的名称

    有没有办法使用对先前捕获组的反向引用作为捕获组的名称命名捕获组 这可能不可能 如果不可能 那么这就是一个有效的答案 下列 data description some description preg match data matches p
  • PHP:读取字体文件的 TrueType/OpenType 元数据

    如何阅读字体详细信息 例如 字体在其元数据中包含版权 姓氏 设计者 版本等信息 我还希望脚本能够计算文件中的字形数量 并返回字体支持的语言 例如 典型的字体可能包含西方语言 瑞典语和罗马语言支持 并具有数百个字形 它应该支持 truetyp
  • Magento - 检查 cms 页面

    我想通过 php 检查页面是否是 Magento 中的 cms page 我需要不同的 cms 页面面包屑 所以我尝试在一个条件下做到这一点 但我不知道如何或在哪里查看 到目前为止 这是我的 breadcrumbs phtml p some
  • PHP Solr PECL 扩展安装

    我已经使用命令安装了 pecl solr pecl install solr 和梨使用 wget http pear php net go pear phar php go pear phar 重启Apache后 我仍然收到错误 Fatal
  • 为什么我的 if 语句没有按我预期的方式工作?

    我正在尝试实现以下目标 我向我的 SQL 数据库询问使用SELECT FROM subjects 这样做之后我要求使用数组mysqli fetch assoc 在那之前一切都很好 现在的问题是 当我尝试在每个循环中修改 genero 的值
  • WordPress 插件中的类自动加载器

    我想编写一个类自动加载器以在 WordPress 插件中使用 该插件将安装在多个站点上 我想尽量减少与其他插件发生冲突的机会 自动加载器将是这样的 function autoload name some code here 我的主要问题是
  • 检查条件并通过 Zend 中的 Regex 识别 url 中的模式

    我正在实现 Zend Regex 路由 并且必须对 url 执行多次检查 例如 如果这是我的网址 http localhost application public index php module controller action 这是
  • Laravel leftJoin 仅右表的最后一条记录

    我是 Laravel 的新手 我有两张桌子 1 产品 2 价格 products id product int p key name varchar prices id price int p key id product int
  • php curl 使用 GET 发送变量 奇怪的结果

    我正在尝试调用远程站点上页面中的网址 决定使用curl 在远程站点上 url 变量显示为 REQUEST Array var1 gt val1 amp var2 gt val2 amp var3 gt val3 被调用的url是 http
  • 为什么我的会话仍然存在?

    我一定很愚蠢 因为似乎一件相当明显的事情现在让我完全困惑 我有一个会议 ie SESSION handbag id 在某个时刻 我需要彻底终止这个会话 ie at the start of the page session start el

随机推荐

  • jade 过滤器:带有 a 的对象的 markdown

    我有一个来自数据库的对象 其中包含一些我想用玉渲染的降价标记 但如何呢 当我应用 markdown 过滤器时 我不能再将对象用作对象 但它会被视为文本 我从这里开始 p markdown entry content 这呈现为普通 entry
  • node.js - 使用归档器归档文件夹生成一个空 zip

    我正在尝试使用以下方式存档文件夹archiver 我想要存档的文件夹的路径如下所示 Project app js tmp folderToArchive file1 txt file2 txt file3 txt 我的服务器端代码将生成 z
  • 在 Android 中读取 Zip 存档中的文件并将其内容放入字符串中

    这是我的第一个问题 尽管我已经使用了 Stack Overflow 上的很多技巧 但对于这种情况我还没有找到解决办法 情况是这样的 我有一个压缩文件 我想读取一个特定的文件并将其内容放入一个 String 变量中 该变量将被返回并放入 An
  • 用于检查属性是否存在的简写函数[重复]

    这个问题在这里已经有答案了 你们能帮我制作一个速记函数来确定对象属性是否存在吗 在 99 的情况下 我想用它来检查返回的 json 对象是否包含指定的属性 请注意 不保证必须定义任何父属性甚至 json 对象本身 我是这样想的 functi
  • 模型衍生 API 响应未通过 Jackson 映射

    是否对模型派生 API 的响应对象进行了更新 因为我们在将 3D 模型请求的响应映射回清单和元数据对象时遇到问题 两人都抛出了杰克逊的错误 GetManifest 返回未处理的角色枚举 GetMetadataForGuid 抛出 非法字符
  • 根据邮政编码确定 USPS 邮政区域的公式

    我希望能够更轻松地按 USPS 邮区对数百个信封进行分类 困难在于必须根据原始邮政编码对美国 8 个区域中的每一个区域进行手动排序 91352 http postcalc usps gov ZoneCharts 我有一个包含 ZIP 列的联
  • 对 ? 的行为感到困惑。操作员

    这是我的代码 class Address public bool IsAppartment get set class Employee public string Name get set public Address Address g
  • 关闭选项卡前确认框

    我希望当用户尝试关闭窗口时有一个确认框 window onbeforeunload function evt var message Are you sure you want to leave cause there are some u
  • HTML5 输入模式中的正则表达式无效

    我需要在 HTML 输入中使用这个正则表达式 取自以逗号或逗号和空格分隔的项目列表的正则表达式 s s 所以我将其设置为输入
  • 如何触发 Chrome 扩展按钮的点击?

    我正在建立一个自动化测试套件使用 Selenium Web 驱动程序 在某个时刻 我必须通过以下方式测试页面的工作方式 Chrome 扩展程序打开或关闭 可以将其想象为您想要单击 Adblock 扩展 然后单击对此站点的禁用 然后 再次打开
  • g++ -fdump-class-hierarchy 输出中的第一个 (int (*)(...))0 vtable 条目是什么?

    对于这段代码 class B1 public virtual void f1 class D public B1 public void f1 int main B1 b1 new B1 D d new D return 0 编译后 我得到
  • 使用 CloudWatch Metric Filter 报告内存消耗百分比

    我们广泛使用 AWS Lambda 作为我们基础设施的一部分 为了获得更好的可见性 我希望能够报告一个自定义的 CloudWatch 指标 其值为内存已使用 内存分配 这可以使用 CloudWatch 日志和指标过滤器来实现 考虑以下日志消
  • 当我调用代码格式化程序时,如何避免扩展折叠区域?

    如您所知 Delphi 2010 具有内置代码格式化功能 但是 格式化会展开所有折叠的代码块 有什么想法如何修复它吗 这个 功能 对我来说特别烦人 当我找不到任何关于这个问题的提及时 我真的很惊讶 我尝试过的 寻找替代方案 例如 GExpe
  • 检查所有复选框 Jquery

    我使用此代码来检查树视图中的复选框 HTML div ul li li ul div
  • 如何从Around Advise获取调用者方法信息

    ThisJoinPoint只能获取当前方法信息 反正要获取调用者方法信息 您可以尝试特殊变量thisEnclosingJoinPointStaticPart它保存封闭 JoinPoint 的静态部分 提及here 示例 和here docs
  • 如果更改索引中使用的字段,mongodb 是否会重新索引?

    假设您有一个带有名为 primary key 字段的集合 primary key 1234 name jimmy lastname page 我有一个关于 primary key 的索引 这个集合有数百万行 我想看看更改其中一条记录的pri
  • 如何以编程方式设置文件标签

    当使用 Windows 资源管理器查看文件时 我可以选择设置 标签 类别 或其他属性 对于 JPEG 可以选择一组不同的属性 包括 标签 我希望能够以编程方式设置这些 如何使用 Delphi 以编程方式设置文件标记和其他文件属性 我有 De
  • 如何在 Jupyter 笔记本上从 * .IPYNB 文件执行 * .PY 文件?

    我正在开发一个 Python Notebook 我想要这样大输入代码 输入 打包成 PY 文件并从笔记本中调用该文件 运行 的动作我知道笔记本中的 PY 文件 并且命令在 Linux 或 Windows 之间有所不同 但是 当我执行此操作并
  • 如何移出 IntelliJ IDEA 中自动完成的括号(不使用箭头键)?

    我最近从 Eclipse 切换到 IntelliJ IDEA 并发现自己想知道如何将光标移出一对自动完成的括号 在 Eclipse 中 当我输入完一对括号后 按 Tab 键将使我退出括号 不使用箭头键如何做同样的事情 非常感谢您的帮助 ID
  • 使用 htaccess 创建 SEO 友好的 url

    我正在尝试重写网站的 url 我应该提到的是 index php 现在的工作方式是获取 p 页面 参数并包含适当的文件 所以请求一个页面是这样的 www domain com index php p home www domain com