php - 如何使用 Htaccess PHP 中的 Mod 重写规则解决 Urls 中类似的参数组合数量
问题描述
我有四个 URL 需要使用 ht-access PHP 进行优化。
存储在 DB 中的所有参数值。
第一个 url:在未优化的 url 中有两个参数和值。
第一个 - (scode) 用于字母的参数 - 例如:仅状态代码:DL 或 AP
2nd - (disturl) 用于字母、字母和符号的参数 - 例如:地区名称:安得拉邦的“east-godavarai”地区。
第一个 URL 工作 - 检查代码。
第二个网址:在未优化的网址中有三个参数和值。
1st - (scode)Parameter only Alphabets - 例如:AP
2nd - (disturl)Parameter only Alphabets & Hypens Ex: east-godavari
3rd - (talukurl) 仅参数 字母和连字符 例如:vizag-west
第二个网址也有效 - 检查代码
第三个网址:在未优化的网址中有两个参数和值。
1st - (scode)Parameter only Alphabets - 例如:AP
2nd - (pourl) 仅参数 字母、数字和连字符 例如:Narasaraopeta-712345
网址 - 不工作错误 - 显示第二个网址页面 - 未显示任何数据。
第四个 Url:在未优化的 url 中有两个参数和值。
1st - (scode)Parameter only Alphabets - 例如:AP
第二个 - (密码)仅参数数字 - 例如:712345
网址 - 不工作错误 - 显示第二个网址页面 - 未显示任何数据。
我尝试分别检查每条规则,第一条规则和第二条规则有效。当我尝试删除第一个和第二个网址时,第三个网址正在工作,第四条规则显示第三条规则网址页面。
RewriteEngine On
RewriteRule ^([0-9a-zA-Z]+)/([-|0-9|a-z|A-Z]+)\.php$ dist.php?scode=$1&disturl=$2 [NC]
RewriteRule ^([0-9a-zA-Z]+)/([-|0-9|a-z|A-Z]+)/([-|0-9|a-z|A-Z]+)\.php$ pos.php?scode=$1&disturl=$2&talukurl=$3 [NC]
RewriteRule ^([a-zA-Z]+)/([-|0-9|a-z|A-Z]+).php loc.php?scode=$1&pourl=$2 [NC]
RewriteRule ^([a-zA-Z]+)/([-|0-9]+)\.php$ pincode.php?scode=$1&pincode=$2 [NC]
我期待输出类似于优化的网址..
第一条规则:主 URL:https ://www.example.com/dist.php?scode=ap&disturl=krishna
优化网址: https ://www.example.com/ap/krishna.php
第二条规则:主 URL:https ://www.example.com/pos.php?scode=ap&disturl=krishna&talukurl=east-godavari
优化网址: https ://www.example.com/ap/krishna/east-godavari.php
第三条规则:主 URL:https ://www.example.com/loc.php?scode=ap&pourl=krishnalanka-342563
优化网址: https ://www.example.com/ap/krishnalanka-342563.php
第四条规则:主网址:https ://www.example.com/pincode.php?scode=ap&pincode=342563
解决方案
除非您首先在数据库中查找每个可能的参数组合,然后再将其传递给相关脚本,否则您无法单独使用数据执行此操作,这也会错过非唯一的参数组合。尝试用另一个 slug 为每个 URL 类型添加前缀,例如https://www.example.com/pos/ap/krishna/east-godavari
推荐阅读
- google-sheets - 需要帮助根据不同条件将数据从一张表引用到另一张表
- go - SDL2 音频无法正确播放
- relational-database - 将关系分解为 BCNF 形式
- c# - ASP.NET Core 中的抽象设置配置
- python - python unittest.assertEqual - 如何在 x 秒后终止?
- javascript - 如何从 html 字符串中提取 JavaScript 变量?>
- reactjs - 我正在尝试将此代码重构为功能组件
- python-3.x - 关于使用 sorted() 函数基于多个条件进行排序的问题
- c# - 不存在 Type 时将 DataTable 转换为 List
- vba - 根据多个条件过滤子表单