gpt4 book ai didi

apache - .htaccess 文件的重写规则不起作用

转载 作者:行者123 更新时间:2023-12-04 08:36:07 25 4
gpt4 key购买 nike

我有一个要求,我需要像下面这样重定向用户:
“www.example.com/text1?a=1&b=2”到“www.example.com/text2?a=1&b=2&c=3”
为此,在我的 .htaccess 文件中,我使用以下 mod-rewrite 规则:

  RewriteEngine on
RewriteRule /text1(.*) www.example.com/**text2?c=3 [R=301,L,QSA]
也试过:
  RewriteEngine on
RewriteRule /text1(.*) www.example.com/**text2$1&c=3
但是,以上对我不起作用,如果我尝试访问“www.example.com/text1?a=1&b=2”,我会得到一个直接的 404。
有人可以建议吗?
非常感谢。

最佳答案

您能否尝试以下操作,它主要是内部重定向,因此我们不需要 R=301在这里。

RewriteEngine ON
RewriteCond %{QUERY_STRING} !^$
RewriteRule ^text1/?$ /text2?%{QUERY_STRING}&c=3 [NC,NE,L]
或者根据 anubhava 先生的评论,您可以尝试关注。我会在早上与他更多地讨论我的上述问题,因为这里是深夜
RewriteEngine ON
RewriteRule ^text1/?$ /text2?c=3 [NC,QSA,L]
说明: RewriteEngine ON : 制作 RewriteEngine ON以便规则MOD重写规则允许写入apache(.htaccess文件)。 RewriteRule :
  • ^text1/?$在左侧检查 URI 是否从 text1 开始和可选 /然后转到此规则的右侧并重定向。
  • /text2?%{QUERY_STRING}&c=3 [NC,NE,L] : 在这里创建uri的新值,从text2开始然后 %{QUERY_STRING}是默认变量,它具有您已经传递的查询字符串的值(在 ? 之后)a=1&b=2所以它添加了旧 uri 的查询字符串,然后是 &c=3在此处向此 URI 添加新值。现在来到旗帜 NC,NE,L , L表示此条件的最后一条规则,NC表示忽略 URI(左侧)和 NE 中应用的大小写不要转换值(您在评论中得到 %26)。
  • 关于apache - .htaccess 文件的重写规则不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64792348/

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