gpt4 book ai didi

regex - 传递参数的 Mod 重写规则

转载 作者:行者123 更新时间:2023-12-02 22:01:46 24 4
gpt4 key购买 nike

htaccess 文件重定向如下:

pagename.com/foo -> pagename.com/index.php?view=foo

它在 htaccess 中的工作代码是

RewriteRule ^foo$ index.php?view=foo [L]

但我也想使用参数。所以它看起来是这样的

pagename.com/foo?parameter1=bar -> pagename.com/index.php?view=foo&parameter1=bar

我创建的是:

RewriteRule ^foo\?([^-]+)$ index.php?view=foo&$1 [L]

但它无法正常工作 - 我被重定向到查看 foo 但未传递参数

有什么想法吗?提前谢谢你

编辑:

RewriteRule ^foo/?([^-]+)$ index.php?view=foo&$1 [L,QSA] 

RewriteRule ^foo/?$ index.php?view=foo [L,QSA]

既可以单独使用也可以搭配

RewriteCond %{REQUEST_FILENAME} !-f

无法获取

编辑 2:

为同一个 foo 页面获得了另一个重写规则 - 只是将 QSA 添加到第一个,如下所示:

RewriteRule ^foo$ index.php?view=foo [L,QSA]

它有效

最佳答案

请记住,RewriteRule 仅匹配没有查询字符串的 REUQEST_URI

为此,您只需要 QSA 标志:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^foo/?$ index.php?view=foo [L,QSA]

QSA -(查询字符串追加)用于将现有查询字符串附加到新的查询字符串。

关于regex - 传递参数的 Mod 重写规则,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16847027/

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