2011-02-16 69 views
1

我有現在的Zend框架的htaccess:.htaccess:如何重定向img,js ..從/ www /到/ www/public /?

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} -s [OR] 
RewriteCond %{REQUEST_FILENAME} -l [OR] 
RewriteCond %{REQUEST_FILENAME} -d 
RewriteRule ^.*$ - [NC,L] 
RewriteRule ^.*$ public/index.php [NC,L] 

但我不知道如何重定向像JS,CSS,IMG所有的 「鏈接」 參數。

回答

1

這裏是我的.htaccess這是工作完美:

DirectoryIndex /public/index.php  
RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} -s [OR] 
RewriteCond %{REQUEST_FILENAME} -l [OR] 
RewriteCond %{REQUEST_FILENAME} -d 
RewriteRule ^.*$ - [NC,L] 
RewriteRule ^js/(.*)$  public/js/$1 [L] 
RewriteRule ^img/(.*)$  public/img/$1 [L] 
RewriteRule ^css/(.*)$  public/css/$1 [L] 
RewriteRule ^.*$ public/index.php [NC,L] 
1

解決方案之一: 您的Web服務器應該指向public /目錄,而不是指向ZF項目的根目錄。

解決方案二(我認爲更好的一個): 您的web服務器指向ZF項目目錄,甚至ZF項目在子目錄中。 Like http://localhost/zf-project/

的.htaccess在zf的項目目錄(右附近的公共/,應用/,圖書館/ ...):

RewriteEngine On 
RewriteRule ^(.*)$ public/$1?%{QUERY_STRING} [QSA,L] 

的.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] 

而且在應用程序/ CONFIGS /的application.ini設置

resources.frontController.baseUrl = "/zf-project/" 
+0

Zebooka,非常感謝! 不幸的是沒有足夠的聲望給一些標記:( – Anthony 2011-02-17 18:38:34