Apache重写规则是如何组合解释的



这一切都发生在<虚拟主机*:80>上下文我正在使用

RedirectPermanent / https://www.example.com/

将所有http请求重定向到https。我也有旧来的坏";http://..."我想重定向的链接,这似乎是最好的地方,而不是在https方面,这将涉及到向找不到的https页面发送毫无意义的重定向。

如果我像这样堆叠重定向:

RedirectPermanent /specific/2020/url1.php https://example.com/2021/url1.html
RedirectPermanent /specific/2020/url2.php https://example.com/2021/url2.html
RedirectPermanent /specific/2020/url2.php https://example.com/2021/url3.html
RedirectPermanent / https://example.com/

";url#";重定向和"/"重新使用

我在Apache的文档中找不到任何东西来解释这些规则在组合中的解释。图案是否与";url1";终止脚本的方式,例如;L";标志与RewriteRule有什么关系?

或者是否存在这样的可能性:/&quot-&gt;https行被应用是因为它也匹配吗?

我想我在这里找到了答案:

https://httpd.apache.org/docs/2.4/mod/mod_alias.html

医生说:

首先,在处理别名之前处理所有重定向,因此,与RedirectRedirectMatch匹配的请求将永远不会应用别名。其次,别名和重定向按照它们在配置文件中出现的顺序进行处理,第一个匹配优先。

我更喜欢更明确的措辞,但我将其解释为当发生匹配时,会忽略后续的重定向。

最新更新