为Apache服务器提供mod_rewrite。 我不完全理解为什么在这个示例中我需要两个RewriteRules:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^$ public/ [L]
RewriteRule (.*) public/$1 [L]
</IfModule>
最初在此DIY MVC教程中找到,似乎^$
和(.*)
的含义相同。为什么我需要两个[L] ast标志,因为第二个不应该开火,对吧?
我试图更深入地理解所有内部机制,而不是仅仅复制工作解决方案。
答案 0 :(得分:1)
不,^$
和.*
并不代表同一件事:第一个匹配空输入,第二个匹配任何内容 - 包括空输入。第二条规则应该足够了。
至于为什么[L]
在这里,请考虑空请求,而不是[L]
:
public/
; public/
变成public/public/
。