如何解决协助 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]
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。