ThinkPHP 3.1.2官方手册 第16.2章节 《隐藏index.php》中提到在Ngnix中隐藏index.php实现SEO友好的方法,其中使用了如下的代码 location / {
if (!-e $request_filename) {
rewrite ^(.*)$ /index.php?s=$1 last;
break;
}
}
这种方法性能非常差,因为会对图片文件也进行文件存在判断,增加了磁盘IO开销 ,在《Nginx HTTP Server》一书中提到了种优化方法, 也就是修改为下面的那段代码。 location / {
if ($request_filename ~* "\.(gif|jpg|jpeg|png|swf|js|css)") {
break; // 图片文件不再进行重写,也不再进行文件存在判断,能够避免Nginx进行无用检查,降低磁盘IO开销
} if (!-e $request_filename) {
rewrite ^(.*)$ /index.php?s=$1 last;
break;
}
} # 简单到没有技术含量,但是效果好~
相关文章
- 向量体系结构(5):步幅&&集中一分散- 在C语言中,矩阵的行存储是连续的,但列之间存在较大的步幅。以矩阵D为例,如果要连续访问其列中的元素(内层循环的目的),每次迭代需要跳过整个行的宽度。Fortran语言通常以列主序存储数组,意味着矩阵的列元素在内存中是连续的,意味着访问其连续行元素时需要跨过较多内存空间。 编译器在向量化代码时,需要识别并优化这些步幅问题,以便有效地利用向量处理器的并行能力。如果不对循环进行重新排序或调整访问模式,处理器可能无法有效加载连续的向量元素到寄存器中进行并行运算,这会影响性能。 编译器可以通过循环变换(如循环展开、循环交换等)来改善内存访问模式,以减小步幅或使其适应向量寄存器的宽度。例如,通过改变循环顺序,使内存访问变得更加连续,从而减少跨步读取的次数。 向量处理器处理非连续数据
- 浅析Thinkphp框架中运用phprpc扩展模式
- 使用ThinkPHP开发中MySQL性能优化的最佳21条经验
- nginx 部署thinkphp 做的东西, 配置 Pathinfo 模式,终于配好了
- centos7 nginx完整支持thinkphp pathinfo模式开启方法
- LNMP 支持 ThinkPHP 的 pathinfo 模式
- nginx低版本不支持pathinfo模式,thinkphp针对此问题的解决办法
- Python中的单例模式的几种实现方式的优缺点及优化
- ThinkPHP中pathinfo模式与URL重写
- Nginx下实现pathinfo及ThinkPHP的URL模式