我对这个问题的答案肯定是90%,但我想积极:mod_rewrite - Apache的内部或基于重定向?
默认情况下(例如不使用301修饰符),在Apache内部mod_rewrite内部路径或重定向客户端通过http头或其他方法?
我所有的直觉,研究和经验都表明重定向是在内部完成的。通过“内部”,我的意思是客户端忘记了mod_rewrite正在使用的事实。例如,考虑下面的规则:
RewriteRule ^([^/]+)$ dispatcher.html?cat=$1
当做出请求时此规则适用(例如example.com/testing
),该请求被重定向(例如,为了example.com/dispatcher.html?cat=testing
)。我对mod_rewrite的理解是模块简单地重写请求,看起来原来的请求来自example.com/dispatcher.html?cat=testing
。
这是正确的吗?
正是我的预期。令人惊讶的是,在今天上午我所做的所有(很简短)的研究中,没有人花时间明确描述mod_rewrite是如何工作的! :)谢谢,佩卡! – rinogo
你发布的最后一个例子很有趣!如果得出这样的结论:是否会导致mod_rewrite执行自己的http:// otherhost/otherpath $ 1的请求并将其返回给客户端?迷人。我不知道mod_rewrite可以做到这一点! :) – rinogo