我要执行内部重定向
从/search/lalafa
到/search/lalafa?post_type=review
规则是
RewriteRule ^/search/([^/]+)$ /search/$1?post_type=review [L]
似乎正确,但似乎不匹配:
https://htaccess.madewithlove.com/?share=c2ce1c7f-60be-40c8-9f0b-58ffc9eeba40
我要执行内部重定向
从/search/lalafa
到/search/lalafa?post_type=review
规则是
RewriteRule ^/search/([^/]+)$ /search/$1?post_type=review [L]
似乎正确,但似乎不匹配:
https://htaccess.madewithlove.com/?share=c2ce1c7f-60be-40c8-9f0b-58ffc9eeba40
1条答案
按热度按时间bprjcwpo1#
这将失败,原因有二:
.htaccess
中RewriteRule
pattern 匹配的URL路径不包括斜杠前缀,因此此规则永远不匹配。它应该是^search/([^/]+)$
。1.如果匹配,则会创建重写循环(500内部服务器错误),因为您正在重写到相同的URL路径,而没有检查查询字符串。
请尝试以下方法:
$0
反向引用包含完整的URL路径,与RewriteRule
* 模式 *(注意:前面的 condition 检查查询字符串是否已经等于post_type=review
,从而防止重写循环。