gpt4 book ai didi

Apache URL 重写,

转载 作者:行者123 更新时间:2023-12-02 07:55:52 30 4
gpt4 key购买 nike

我正在尝试让 URL 重写在我的网站上运行。这是我的 .htaccess 的内容:

RewriteEngine On
RewriteRule ^blog/?$ index.php?page=blog [L]
RewriteRule ^about/?$ index.php?page=about [L]
RewriteRule ^portfolio/?$ index.php?page=portfolio [L]
#RewriteRule ^.*$ index.php?page=blog [L]

现在,如果我尝试 http://www.mysite.com/blog/,这 3 个未注释的重写规则可以完美运行, 我被重定向到 http://www.mysite.com/index.php?page=blog ,“关于”和“投资组合”相同。但是,如果我输入错误的博客,请说我尝试 http://www.mysite.com/bloh/ ,然后显然我收到 404 错误。最后一条规则,也就是评论的规则,是为了帮助防止这种情况发生。任何 URL 都应该被重定向到博客,但当然,即使我们已经成功地使用了之前的规则,这条规则仍然会被解析,所以我使用了“last”标志([L])。如果我取消注释我的最后一条规则,任何内容,包括博客、关于和投资组合,都会重定向到博客。 “last”标志不应该在找到匹配规则后立即停止执行吗?

谢谢。

最佳答案

是的,Last 标志意味着它不会在此请求中应用遵循此规则的任何规则。

重写 URL 后,它使用新的重写 URL 发出内部请求,该 URL 将匹配您最后的 RewriteRule,因此您的重定向进入无限循环。

使用 RewriteCond指令限制对不以 index.php 开头的 URL 的重写,你应该没问题。

关于Apache URL 重写,,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/941010/

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