.htaccess - .htaccess 文件 ([^\/]+) 不工作,但 ([1-9]+[0-9]*) 工作?
问题描述
我的项目网址是 /catalog/id/
例如:domain.com/life/women/268/
我试过很多次。为什么htaccess
不能改写“妇女”,而只是改写数字'/268/'
不行
RewriteRule ^life/([^\/]+)/?$ life/list.php?cat=$1 [L,NC]
RewriteRule ^life/([^\/]+)/([^\/]+)/?$ life/info.php?cat=$1&id=$2 [L,NC]
不工作结果
Array ( [cat] => list.php )
如果全部使用号码,工作
RewriteRule ^life/([1-9]+[0-9]*)/?$ life/list.php?cat=$1 [L,NC]
RewriteRule ^life/([1-9]+[0-9]*)/([1-9]+[0-9]*)/?$ life/info.php?cat=$1&id=$2 [L,NC]
解决方案
您的第一次RewriteRule
重写life/list.php
和life/info.php
. 您应该排除它们:
RewriteRule ^life/(?!(?:list|info)\.php\/?$)([^\/]+)/?$ life/list.php?cat=$1 [L,NC]
RewriteRule ^life/([^\/]+)/([^\/]+)/?$ life/info.php?cat=$1&id=$2 [L,NC]
推荐阅读
- c# - 寻找离源最近的物体。(解释问题)
- javascript - 通过不同下拉列表中的 Ajax 在下拉列表中上传数据
- javascript - 如何在主页出现 3 分钟后显示图像?
- flask - 单独蓝图中的错误处理程序不起作用
- swift - 如何修复被阻止的视图过渡到增强现实视图
- android - 检测应用程序被杀死/在后台时的连接变化
- android - 什么是支持@Inheritance(strategy = InheritanceType.SINGLE_TABLE)的Android ORM?
- scala - 在火花中将字符串转换为数据框的四个不同列
- python - Python“for”循环没有迭代尽可能多
- batch-file - 当我想写入 vbs 脚本时,批处理刚刚关闭