首页 > 解决方案 > 如何使用 Htaccess PHP 中的 Mod 重写规则解决 Urls 中类似的参数组合数量

问题描述

我有四个 URL 需要使用 ht-access PHP 进行优化。

存储在 DB 中的所有参数值。

第一个 url:在未优化的 url 中有两个参数和值。

第一个 URL 工作 - 检查代码。

第二个网址:在未优化的网址中有三个参数和值。

第二个网址也有效 - 检查代码

第三个网址:在未优化的网址中有两个参数和值。

网址 - 不工作错误 - 显示第二个网址页面 - 未显示任何数据。

第四个 Url:在未优化的 url 中有两个参数和值。

网址 - 不工作错误 - 显示第二个网址页面 - 未显示任何数据。

我尝试分别检查每条规则,第一条规则和第二条规则有效。当我尝试删除第一个和第二个网址时,第三个网址正在工作,第四条规则显示第三条规则网址页面。

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

优化网址: https ://www.example.com/ap/342563.php

标签: php.htaccessurl-rewritingmod

解决方案


除非您首先在数据库中查找每个可能的参数组合,然后再将其传递给相关脚本,否则您无法单独使用数据执行此操作,这也会错过非唯一的参数组合。尝试用另一个 slug 为每个 URL 类型添加前缀,例如https://www.example.com/pos/ap/krishna/east-godavari


推荐阅读