【发布时间】:2021-10-15 23:22:02
【问题描述】:
我正在使用以下代码,但显示不正确。
错误:目前域名前多了一个"/",域名后多了一个"[QSA,L]"。 希望现在有人可以帮助我。
add_action( 'init', 'mdv_add_rule' );
function mdv_add_rule() {
add_rewrite_rule( 'demo/(.+)$', 'https://example.com/$1 [R=301,L]' );
}
感谢收看
【问题讨论】:
-
add_rewrite_rule可能不适合这种东西,而仅适用于本地重写。看起来它希望第二个参数始终是本地路径,这可以解释为什么它自己为 / 加上前缀。并且使用 QSA 和 L 标志对于那些有点重写也是有意义的。如果您没有明确的理由说明绝对需要在代码中完成此操作,那么您最好手动将必要的 RewriteRule 添加到您的 .htaccess 文件中。 -
@CBroe 感谢您的关注和回复,我需要在主要的 htaccess 部分中这样做,以避免在使用“options-permalink”设置时它们将被删除。
-
只需删除多余的
/并在 RewriteRule 行中用[R=301,QSA,L]替换您的标志。您还可以删除QSA标志,因为您的规则会自动附加查询字符串,因此不需要它。 -
@AmitVerma 我正在寻找一种根据我的代码删除它的方法,谢谢