我从工作中的 Code Igniter 项目中学到了一些关于 MVC 的知识,所以我正在努力做到这一点:
之前:index.php somepage.php secondpage.php
所有这些文件都有“include(header)和include(footer)等等......
相反,我想从 url 捕获用户正在寻找的页面 - >将它们重定向到索引,并始终在该位置加载页眉和页脚,唯一改变的是内容。
所以我用我的 htaccess 做到了这一点:
<IfModule mod_rewrite.c>
Options +FollowSymLinks
Options +Indexes
RewriteEngine On
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteRule (.*)/(.*)/(.*)/(.*)/(.*)/(.*) index.php?page=$1&child=$2&grandchild=$3&cousin=$4&aunt=$5&uncle=$6 [NC,QSA,L]
RewriteRule (.*)/(.*)/(.*)/(.*)/(.*) index.php?page=$1&child=$2&grandchild=$3&cousin=$4&aunt=$5 [NC,QSA,L]
RewriteRule (.*)/(.*)/(.*)/(.*) index.php?page=$1&child=$2&grandchild=$3&cousin=$4 [NC,QSA,L]
RewriteRule (.*)/(.*)/(.*) index.php?page=$1&child=$2&grandchild=$3 [NC,QSA,L]
RewriteRule (.*)/(.*) index.php?page=$1&child=$2 [NC,QSA,L]
RewriteRule (.*^.css) index.php?page=$1 [NC,QSA,L]
</IfModule>
有了心态,如果它有效,那就是一个开始..但它不起作用。首先我注意到我的css没有加载..显然 -f 没有帮助所以我添加了规则,但是 /img/bg.png 也不起作用..
我希望很明显我正在尝试捕获 URL 中 / / 之间的任何单词,并将它们作为参数传递给索引。你们知道如果文件存在,是否有任何智能重写规则实际上忽略重写?