2012-08-31 36 views
0

我讀過幾個地方,試圖直接從htdocs中使用ZendFramework(沒有創建虛擬服務器),用於我使用的每個測試環境。這是一個開發環境,這就是我不關心安全問題,也不想每次都修改hosts文件的原因。我在Windows上使用xampp工作1.7.3沒有virtualHost的Zend(重定向規則)

我重新創建zend結構,但在一個文件夾內部到htdocs。比方說:C:\ XAMPP \ htdocs中\項目

到現在爲止,我發現了一個解決方案使用以下的.htaccess在項目根

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

內C:\ XAMPP \ htdocs中\項目\公共我使用默認的Zend公司的.htaccess

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

在我的佈局我添加了base標籤重定向IMG,CSS和JS鏈接。當我嘗試在我的項目中包含一個css字體(woff文件)時,我的問題就出現了,它在htaccess規則中的任何地方被重定向,導致400錯誤代碼。

所以我的問題是:這裏有什麼問題?我怎麼能重定向每一個控制器(PHP文件),但沒有任何其他現有的文件

順便說一句...我找不到方法使我的htaccess文件工作。我總是發現自己事先尋求幫助:(

感謝

+0

阿呆我。在woff文件路徑中發現問題。現在修復並運行良好。對不起,感謝您的時間 –

回答

0

您的問題最簡單的辦法就是構建這樣的文件:

  • public/文件夾的內容(的index.php,.htaccess)是否在C:\xampp\htdocs\project,你會沒有有一個公共文件夾。對於本申請的目的,project/公用文件夾。
  • application/文件夾放入C:\xampp\htdocs
  • 爲了提高安全性,請在application/文件夾中添加一個.htaccess文件,其中包含Deny from all,因爲它不在文檔根目錄之外。

這應該允許您使用股票ZF .htaccess規則,並且不要求您使用任何RewriteBase或基本URL來加載您的CSS/JS文件。

只要確保任何你想引用一個URL在佈局或視圖使用baseUrl助手(例如<img src="<?php echo $this->baseUrl('images/foo.png') ?>" />

+0

。我不認爲這可能是一個可能性,因爲我想重新創建一個生產環境,並從htdocs根中的多個開發/測試應用程序中加入應用程序文件夾可能導致我意外的行爲 –

+0

在這種情況下,您可以重命名應用程序目錄並然後編輯'index.php'來使用重命名的目錄,或者將它移出docroot並改變index.php來使用新的路徑? – drew010

+0

發現問題(更新爲評論)感謝您的時間 –