Просмотр исходного кода

Use alias rule always

Merges r25210 from trunk
    
- I tested using the new RewriteCond and RewriteRule that were in the comments
  on my previous commit against a non-aliased host - and they work perfectly in
  that environment. As such, this is actually a better solution, as it will work
  in all cases.
- Documented the reasons for the rule in the generated file.
    


git-svn-id: http://framework.zend.com/svn/framework/standard/branches/release-1.12@25211 44c647ce-9c0f-0410-b52a-842ac1e357ba
matthew 13 лет назад
Родитель
Сommit
76c0a82790
1 измененных файлов с 11 добавлено и 6 удалено
  1. 11 6
      library/Zend/Tool/Project/Context/Zf/HtaccessFile.php

+ 11 - 6
library/Zend/Tool/Project/Context/Zf/HtaccessFile.php

@@ -64,16 +64,21 @@ class Zend_Tool_Project_Context_Zf_HtaccessFile extends Zend_Tool_Project_Contex
         $output = <<<EOS
 
 RewriteEngine On
+# The following rule tells Apache that if the requested filename
+# exists, simply serve it.
 RewriteCond %{REQUEST_FILENAME} -s [OR]
 RewriteCond %{REQUEST_FILENAME} -l [OR]
 RewriteCond %{REQUEST_FILENAME} -d
 RewriteRule ^.*$ - [NC,L]
-RewriteRule ^.*$ index.php [NC,L]
-# If you are using phpcloud.com or other cloud PaaS solutions, you may need to
-# Remove the line immediately above this comment, and uncomment the following:
-# RewriteCond %{REQUEST_URI}::$1 ^(/.+)(.+)::\2$
-# RewriteRule ^(.*)$ - [E=BASE:%1]
-# RewriteRule ^(.*)$ %{ENV:BASE}index.php [NC,L]
+# The following rewrites all other queries to index.php. The 
+# condition ensures that if you are using Apache aliases to do
+# mass virtual hosting, the base path will be prepended to 
+# allow proper resolution of the index.php file; it will work
+# in non-aliased environments as well, providing a safe, one-size 
+# fits all solution.
+RewriteCond %{REQUEST_URI}::$1 ^(/.+)(.+)::\2$
+RewriteRule ^(.*)$ - [E=BASE:%1]
+RewriteRule ^(.*)$ %{ENV:BASE}index.php [NC,L]
 
 EOS;
         return $output;