apache - 协助 mod_rewrite 规则返回 404
问题描述
我花了太长时间试图弄清楚我的简单 (?) mod_rewite 规则发生了什么,但无济于事,所以我来了。
我有一堆规则,所有规则都运行良好,但这条规则不会,因为我的一生都在工作,并且在我的本地机器和我的实时服务器上都抛出 404:
RewriteRule ^mywaiver/([0-9]+)\,([0-9]+)/ /waiver_public.php?bid=$1&cid=$2 [L,NC]
目标是拥有
https://example.com/123456,654321/
改写为
https://example.com/waiver_public.php?bid=123456&cid=654321
直接点击url(即重写后的版本)效果很好,只是不是'干净'的版本,它根本不会重写。
除了访问日志中的 404 之外,我的日志中什么也没有。
我错过了一些非常愚蠢的东西吗?在这一点上,另一双眼睛的任何帮助都会令人惊叹。
本
解决方案
使用您显示的示例/尝试,您能否尝试以下操作。请确保在测试您的 URL 之前清除您的浏览器缓存。所有不存在的页面将由带有参数的 waiver.php 文件提供。
RewriteEngine ON
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(\d+),(\d+)/?$ waiver.php?bid=$1&cid=$2 [QSA,L]
推荐阅读
- python - Python 不会识别 if-else 语句中单词的结尾?
- ruby-on-rails - 生成 x 个字符的 Lorem Ipsum 文本(句子和段落)?
- java - Spring Boot 将 OneToMany 实现请求值映射到控制器模型
- django - 有没有办法在 Mypy 中定义一个 Django 模型反转字段?
- android - 如何获取已发送的 SMS 消息?
- python - 对于所有可能的行和列组合,根据它们的相对距离聚合 pandas 数据框的值
- c# - Puppeteer Sharp - js 运行完成后获取 html
- machine-learning - 无法理解 YOLOv4 架构
- ios - 在 Else 块中访问 ObservableObject 时视图不更新
- python - Python 结构模式匹配