.htaccess RewriteRule 不起作用,需要生成一个友好的 URL

2024-02-22

我有这个动态链接:

http://www.nortedigital.mx/article.php?id=36175&t=dobla_las_manos_el_snte__avala_reforma_educativa

我需要像这样进行 URL 友好转换:

http://www.nortedigital.mx/36174/se_enriquecio_elba_en_sexenios_del_pan.html

我有这个重写规则:

RewriteRule ^([^/]*)/([^/]*)\.html$ /article.php?id=$1&t=$2 [L]

但不起作用。请问有人可以帮助我吗?


您必须在 RewriteCond 中捕获查询字符串并在 RewriteRule 中使用它

RewriteEngine On
RewriteCond %{QUERY_STRING} ^id=(\d+)&t=(.+)$
RewriteRule ^/?article\.php$ /%1/%2.html? [R,L]

这会将客户端重定向到请求,即/36174/se_enriquecio_elba_en_sexenios_del_pan.html。现在您必须提供真实的页面。为此,我们添加了一条附加规则,类似于您问题中已有的规则

RewriteRule ^/?(.+?)/(.+?)\.html$ /article.php?id=$1&t=$2 [L]

但现在,存在无限的重定向循环。我们通过使用环境变量来打破这个问题。这是完整的规则集

RewriteEngine On

RewriteCond %{ENV:REDIRECT_SEO} ^$
RewriteCond %{QUERY_STRING} ^id=(\d+)&t=(.+)$
RewriteRule ^/?article\.php$ /%1/%2.html? [R,L]

RewriteRule ^/?(.+?)/(.+?)\.html$ /article.php?id=$1&t=$2 [L,E=SEO:1]

只要未设置环境变量,此规则就会按照上面的方式进行重定向。它提供真实的页面article.php同时设置环境变量,防止循环。

您也可以使用 cookie 来实现此目的。但如果客户端禁用 cookie,这种情况就会被破坏。

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

.htaccess RewriteRule 不起作用,需要生成一个友好的 URL 的相关文章

随机推荐

  • 将python程序安全连接到mysql

    我想使用 MySQLdb 从我的 python 程序连接到 MySQL 我很担心 因为我需要将用户名和密码输入 py为了连接MySQL数据库 还要进入inno setup 没有人能找到用户名和密码并访问我的数据库吗 我该如何解决这个问题 我
  • Android 列表视图的自定义布局

    我正在使用列表视图 如下所示 String Shows new String Dexter Breaking Bad The Big Bang Theory Leverage ListView tv show list ListView v
  • SQL Server 选择不同的最新值

    我有一个包含大量行 gt 10K 的表 大多数行都有重复role与相关的值username 我想做的是按不同和最新选择行role添加者请求ID 我几乎已经拥有了 但是让我感到不安的部分是null某些值请求ID字段 因为这些请求是在添加该列之
  • Subversion 存储库工作副本结构的最佳实践?

    我刚刚开始学习如何使用 Subversion 构建我的 Web 应用程序 所以请耐心等待 以下是我的设置方法 我的域之一将托管我所有项目的存储库 我有标准的标签 分支 主干结构 它位于公共文件夹中 因此其他开发人员可以访问它 我的实时服务器
  • React 表不包含默认导出

    我想使用react table库在react中创建一个表 版本 react table 7 0 0 rc 15 当我尝试这个时 import ReactTable from react table import react table re
  • 将 .NET Guid 转换为 MongoDB ObjectID

    如何将 NET GUID 转换为 MongoDB ObjectID 在 C 中 另外 我可以将其再次从 ObjectID 转换回相同的 GUID 吗 你无法转换ObjectId into GUID反之亦然 因为它们是两个不同的东西 不同的大
  • Android Studio 中的 appLocale 设置

    我创建了广播组 用户可以在其中选择他们想要的语言 并将应用程序语言更改为所选语言 但我无法使用这些功能 不知道如何 我做了什么 我做了settingsActivity 我添加了广播组 我写过setAppLocale功能 我已经设置了onRa
  • 创建自己的 Wordpress 循环的最佳方法是什么?

    使用其内置函数从 Wordpress 输出内容似乎有三种主要方法 WP Query作为推荐之一 WP Query http codex wordpress org Function Reference WP Query 查询帖子 http
  • symfony2 - assetic assetic:dump 命令无法正确创建样式表

    由于某种原因 我无法加载 css 文件 这是我使用的包的结构 BD WebsiteBundle public css 这是我尝试加载 css 文件的方法 stylesheets bundles bdwebsite css filter cs
  • 如何在 Android Q 中请求外部文件访问权限?

    Heard 安卓Q引入了一项新的安全功能 称为 范围存储 它限制访问外部存储中的文件 我的问题是我必须将文本文档从应用程序保存到用户指定的位置 这是否需要任何形式的许可而不是READ EXTERNAL STORAGE and WRITE E
  • 如何将嵌套字典列表转换为pandas DataFrame?

    我有一些包含嵌套字典的数据 如下所示 mylist a 1 b c 2 d 3 a 3 b c 4 d 3 如果我们将其转换为 pandas DataFrame import pandas as pd result dataframe pd
  • PHP 数组递归循环

    我想在 PHP 中循环遍历一个数组 循环必须是递归的 因为我现在不知道有多少个数组中的数组 它用于阅读 Symfony2 中的翻译 输出格式为 a d e a f g b h i c j k l m c n o 与示例数组 array ar
  • 在没有双重调度/访问者模式的情况下解决 Java 的静态方法调度问题

    我正在使用一个类Foo提供了这些方法 String overloadedMethod Object String overloadedMethod Goo 由于 Java 在非接收者参数上静态分派 我不能只传递我的value 这是一个Obj
  • “grails clean”脚本实际上是做什么的?

    我很好奇grails clean命令 有一次我将错误的包导入到域类中 java util regex 我用它来执行正则表达式替换命令 但事实证明一切都没有改变 所以我认为我的正则表达式是错误的 但我把它留在那里以供将来完善 我的本地主机中的
  • Java Oauth2 使用 Office 365 发送电子邮件

    我正在使用 Java 1 8 Jakarta 电子邮件 版本 2 1 0 连接到 Microsoft 365 并使用 OAuth 进行 SMTP 身份验证 客户端需要使用 Oauth 身份验证 而不是基本的 smtp 身份验证 阅读文档后h
  • 如何在 MATLAB 7.0 版本中读写 DICOM 图像?

    我目前使用的是 MATLAB 7 0 版本 我需要读取 DICOM 图像并将其写回 有哪些功能可以帮助我做到这一点 You can使用迪康读 http www mathworks com help toolbox images ref di
  • Visual Studio Web 部署到 IIS 6

    有人成功使用 VS2010 的新 Web 部署功能将网站部署到 Windows Server 2003 上运行的 IIS 6 吗 当我尝试时出现以下错误 Web 部署任务失败 不能 完成对远程代理的请求 URL https myserver
  • 我可以在 GridView ItemTemplate 中使用 IF 语句吗?

    我有一个简单的 gridview ItemTemplate 如下所示
  • 查找具有重复字母的单词(排列)的排名

    尽管已经发布了很多关于这个问题的文章 但我还是发布了此内容 我不想发布答案 因为它不起作用 这篇文章的答案 查找给定字符串在所有可能的重复排列列表中的排名 https stackoverflow com questions 17620694
  • .htaccess RewriteRule 不起作用,需要生成一个友好的 URL

    我有这个动态链接 http www nortedigital mx article php id 36175 t dobla las manos el snte avala reforma educativa 我需要像这样进行 URL 友好