jbl*_*lue 2 php .htaccess zend-framework
.htaccess 中的这一行有什么作用,我什么时候需要它?
RewriteRule !.(js|css|ico|gif|jpg|png)$ index.php
Run Code Online (Sandbox Code Playgroud)
我正在使用 zend 并且我注意到由 zend 生成的 .htaccess 没有这个规则,但我看过一个教程,没有解释原因。
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]
Run Code Online (Sandbox Code Playgroud)
这是一个RewriteRule重定向每一个请求,除了那些文件类型(JS,CSS,图标,GIF / JPG / PNG图形)的请求index.php。
这样 index.php 就不会处理对静态资源的请求(这通常是一件好事,因为启动 PHP 实例很昂贵。)
然而,它已经在下面的代码块中处理。这部分:
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
Run Code Online (Sandbox Code Playgroud)
排除重定向到index.php物理存在的文件 ( -s); 符号链接 ( -); 和现有目录 ( -d)。
如果您使用引用的第二个块(由 Zend 创建的块),一切都很好。
| 归档时间: |
|
| 查看次数: |
1604 次 |
| 最近记录: |