gpt4 book ai didi

php - 使用 Apache 的 mod_rewrite 传递 "unfollow"标志 GET 参数

转载 作者:行者123 更新时间:2023-12-04 06:42:38 25 4
gpt4 key购买 nike

编辑 @mootinator 在这方面做了很棒的工作。请看下面他的回答。

由于我不清楚指定我的确切 URI,它仍然可以帮助正在寻找类似内容的人。我的 URI 更像是:9/Here-is-some-text/unwatch
...在这种情况下,您需要 mod_rewrite看起来更像这样的规则:

RewriteEngine on
RewriteRule ^([0-9]+)/([a-zA-Z0-9_-]+)/?$ index.php?id=$1 [QSA,L]
RewriteRule ^([0-9]+)/([a-zA-Z0-9_-]+)/unwatch/?$ index.php?id=$1&unwatch=1 [QSA,L]

对@mootinator 的回答做了很小的修改,但我花了几分钟才自己弄清楚。可以帮助某人节省下线时间。

我正在尝试做一个 mod_rewrite传入 GET参数,一种 bool 标志,以便每当有人去 URI/unwatch ,可以拔出 &unwatch=1 .

我已经有了这个规则:
RewriteRule ^(\d+)/* index.php?id=$1 [L]

我想要另一个规则来做这样的事情:
RewriteRule ^(\d+)/unwatch index.php?id=$1&unwatch=1 [L]

“目录” ./unwatch不是 一个目录。目录结构如下所示:
./index.php
./.htaccess

关于如何做到这一点的任何想法?

最佳答案

RewriteRule ^([0-9]+)/?$ index.php?id=$1 [QSA,L]
RewriteRule ^([0-9]+)/unwatch/?$ index.php?id=$1&unwatch=1 [QSA,L]

QSA 代表查询字符串追加。这样用户传递的参数不会被删除。

如果我遗漏了一些涉及绕过 url 不是实际目录的内容,请查看 CakePHP可以。

工作演示 here使用以下.htaccess:
<IfModule mod_rewrite.c>
RewriteBase /mod_rewrite
RewriteEngine on
RewriteRule ^([0-9]+)/?$ index.php?id=$1 [QSA,L]
RewriteRule ^([0-9]+)/unwatch/?$ index.php?id=$1&unwatch=1 [QSA,L]
</IfModule>

事实证明,我在 [QSA, L] 中的空间导致了 500 错误,而\d 的行为不像我预期的那样。

关于php - 使用 Apache 的 mod_rewrite 传递 "unfollow"标志 GET 参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4061851/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com