在Apache 2中, ErrorDocument和mod_rewrite之间的顺序是否已定义和可预测? 我找不到有关此文档的任何内容。
例如,如果我有一个.htaccess文件中的以下内容(从标准的Drupal .htaccess文件中剥离)
ErrorDocument 404 /index.php <IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_URI} !=/favicon.ico RewriteRule ^ index.php [L] </IfModule>
这将处理/favicon.ico,ErrorDocument或RewriteRule的请求? 这将始终是相同的,服务器到服务器,还是可以根据Apacheconfiguration的不同而有所不同?
是的,它的定义。 在Apache实际查找资源之前,Mod_Rewrite只能处理传入的请求。 ErrorDocument函数在形成响应的层次上(基本上是最后一步)。
在这种情况下,Apache将如何工作的过于简化: