regex - httpd url重写规则问题
问题描述
我正在尝试修复一个使用.htaccess
httpd 文件的旧项目。
.htaccess
有两个重写路径的规则,如果路径中没有日期,它将转到索引,否则列出。问题是列表路径不起作用,它进入索引,如果我注释掉索引路径列表路径开始工作,取消注释它开始进入索引。
以下是规则 v1:
RewriteEngine On
RewriteRule ^m/([a-zA-Z0-9]+)/(\d{4}-\d{2}-\d{2})/? m/list.php?list_id=$1&date=$2 [QSA,L]
RewriteEngine On
RewriteRule ^m/([a-zA-Z0-9]+)/? m/index.php?list_id=$1 [QSA,L]
以下是规则 v2:
RewriteEngine On
RewriteRule ^m/([a-zA-Z0-9]+)/? m/index.php?list_id=$1 [QSA,L]
RewriteEngine On
RewriteRule ^m/([a-zA-Z0-9]+)/(\d{4}-\d{2}-\d{2})/? m/list.php?list_id=$1&date=$2 [QSA,L]
以下是两个测试网址:
http://www.example.com/m/blas3as应该去index.php
(这适用于顶部的规则)
http://www.example.com/m/blas3as/2021-01-01 -> list.php
(此链接不起作用index.php
)
如果我注释掉:
#RewriteEngine On
#RewriteRule ^m/([a-zA-Z0-9]+)/? m/index.php?list_id=$1 [QSA,L]
http://www.example.com/m/blas3as/2021-01-01 -> list.php
(此链接开始工作)
不经意间,另一个链接停止了。
解决方案
推荐阅读
- java - 如何用Java编写乘法表?
- vb.net - Modbus TCP 读寄存器
- excel - VBA代码终止后如何存储自定义对象以供使用
- python - 只获取一个与我在字典中的搜索匹配的值
- excel - 为什么我在 Access 数据库中通过 VBA 打开和关闭多个 Excel 工作簿时偶尔会出现错误 91
- javascript - 新文件阅读器();做出反应。迭代项目时
- python - 有没有办法将包含事件持续时间的日期索引数据框转换为显示每天事件的二进制数据数据框?
- android - 应用程序正在根设备上工作,但不能与 SuperSU 一起工作
- javascript - 在循环语句之外继续(在 some() 中)
- javascript - 使用 Vue.js 的事件总线与使用自己的实现的好处