在我的应用程序中,我有wiki博客和其他内容,作者可以在创建它们时分配URL,以便针对搜索引擎进行优化。
所以,我想将URL重定向到index.php,在那里我检查数据库并相应地生成输出。
但是,还有CSS,图像和其他文件的请求,我必须单独留下。
我可以在HTACCESS中排除CSS,图片等,并将其他所有内容重定向到index.php。
或者我可以将所有内容重定向到index.php然后只需使用header()更改图像css等位置。
我应该选择哪种方法?
答案 0 :(得分:0)
我在我的应用程序中执行的操作包括header.php文件中与模板无关的所有内容以及footer.php文件中与模板相关的所有内容。这样,我可以调用header.php,如果我需要访问我的软件的/ just / database方面。
答案 1 :(得分:0)
IMO最好使用简单的.htaccess规则排除静态文件(css,js,images),并将其余的URI转发到前端控制器,即index.php
。
如果您要处理index.php
中的静态文件,则必须使用php header()
函数重定向它们(并向浏览器添加1次额外的往返)或者您需要使用适当的内容类型输出他们的内容,而不是你的前端控制器应该做的工作..
答案 2 :(得分:0)
如果只将任何不存在的资源文件/目录请求移交给index.php
文件,该怎么办?我认为这些通常是如何运作的。
.htaccess -
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule /?([A-Za-z0-9_-]+)/?$ index.php?id=$1 [QSA,L]
</IfModule>