【问题标题】:assistance with mod_rewrite rule returning a 404协助 mod_rewrite 规则返回 404
【发布时间】:2021-05-01 15:25:15
【问题描述】:

我花了很长时间试图弄清楚我的简单 (?) 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 之外,我的日志中什么也没有。

我是否错过了一些非常愚蠢的东西?在这一点上,另一双眼睛的任何帮助都会令人惊叹。

【问题讨论】:

    标签: apache .htaccess mod-rewrite url-rewriting friendly-url


    【解决方案1】:

    使用您显示的示例/尝试,您能否尝试以下操作。请确保在测试您的 URL 之前清除您的浏览器缓存。所有不存在的页面将由带有参数的 waiver.php 文件提供。

    RewriteEngine ON
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(\d+),(\d+)/?$ waiver.php?bid=$1&cid=$2 [QSA,L]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多