如何使用查询字符串将 URL 重写为底层文件系统路径?

How do I rewrite my URL to the underlying filesystem path with a query string?

我需要 URL 重写方面的帮助。我想让这个 URL (https://example.test/bet/r/?r=fad5v) 看起来像这样 (https://example.test/bet/fad5v).

执行此操作的最佳方法是什么,以便在访问 https://example.test/bet/fad5v 时打开实际的 URL https://example.test/bet/r/?r=fad5v.

任何帮助将不胜感激。

在根 .htaccess 文件的顶部附近尝试以下操作:

RewriteEngine On

RewriteRule ^bet/([^/.]+)$ bet/r/index.php?r= [L]

更新: 从评论来看,您似乎已经将此指令放在 /bet 子目录的 .htaccess 中(即 /bet/.htaccess), 不是上面说的文档根目录

如果您使用的是 /bet/.htaccess 文件,则需要将上述指令修改为:

RewriteEngine On

RewriteRule ^([^/.]+)$ r/index.php?r= [L]

建议尽可能限制正则表达式,以免与其他资源冲突(例如,此代码是否只能由小写字母 a-z 和数字组成?)。您会注意到我已将点添加到字符 class 以避免与实际文件冲突(如您在评论中所述)。