Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Zend Framework.htaccess重写规则_Php_Apache_.htaccess_Zend Framework - Fatal编程技术网

Php Zend Framework.htaccess重写规则

Php Zend Framework.htaccess重写规则,php,apache,.htaccess,zend-framework,Php,Apache,.htaccess,Zend Framework,我看到了一个.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] 据我所知,重写条件表示,如果请求的url用于大小非零的文件、

我看到了一个.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]
据我所知,重写条件表示,如果请求的url用于大小非零的文件、符号链接或目录,则什么也不做。这是由
重写规则^.*-[NC,L]
,表示如果上述条件为真,则立即停止处理;否则调用
/index.php
,这是使用
RewriteRule^.*$/index.php[NC,L]
完成的

我的怀疑是

1.在教程()中,我在读,说:

即,如果URL引用文件(大小大于零)、目录或符号链接。这确保了javascript、css和其他非PHP文件可以直接提供,即使这些文件集中在其他地方,并且仅通过符号链接引用

由于所有的.php文件都是非零大小的,那么apache如何知道php文件和非php文件之间的区别呢


2.请求的url将作为参数传递给/index.php还是仅调用/index.php?

检查请求的文件/目录/符号链接是否存在的是请求文件名条件。回答您的问题:

由于所有的.php文件都是非零大小的,那么apache如何知道php文件和非php文件之间的区别呢

Apache不需要知道它们之间的区别。无论文件类型如何,应用程序公用文件夹中的任何文件都将按原样使用。所有Zend Framework文件和应用程序代码都存在于公用文件夹之外

请求的url将作为参数传递给/index.php,还是只调用/index.php

请求的URL仍将存在于环境变量中,如
$\u SERVER['REQUEST\u URI']
,因此ZF(和大多数框架)使用该URL来确定应用程序的哪个部分应该为请求提供服务