2010-03-14 164 views
1

我想鏈接到一個zend_controller受控頁面的純HTML頁面。我不知道如何做到這一點。我嘗試了'重定向(site/somedir/some.html)',但是,當然,這是行不通的。 謝謝如何從zend_controller受控頁面重定向到純HTML頁面?

HTML文件位於網站= ZF-網站的公共目錄/公共

+0

純HTML頁面在哪裏? – 2010-03-14 20:27:19

+0

Pekka,html文件位於site = zf-site/public/deploy的公共目錄的子目錄中。 – curro 2010-03-15 01:10:34

+0

對我來說,解決方案可能是編輯public目錄的.htaccess文件中的重寫規則,但是我又不知道或理解重寫語法。 – curro 2010-03-15 01:30:41

回答

2

回覆意見:

RewriteEngine on 
RewriteBase/
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule !\.(js|ico|txt|gif|jpg|png|css)$ index.php 

使用第3和4號線到說如果文件或目錄存在,則不重定向。你可以將這兩行添加到你的.htaccess文件中,而你的.html文件將作爲正常的。

+0

它絕對有效! 謝謝,smack0007。經過多次嘗試,出現了一些問題,我終於用它代替了我發佈的.htaccess最後一行!\。(js | .... – curro 2010-03-15 18:02:25

+0

我試圖給出這個答案的觀點,但看起來我有一個很糟糕的聲望;-) 再次感謝你啪 – curro 2010-03-15 18:06:19

0

在你的動作控制器,你可以這樣做:

$this->_redirect('site/somedir/some.html'); 

但是你也需要請確保此some.html位於文檔根目錄中的某個位置,並且可以通過網絡訪問,其中所有視圖腳本可能都位於其上方。在這種情況下,如果你把這個靜態的HTML文件到其他視圖腳本是相同的文件夾 - 這是不行的......

+0

謝謝Laimoncijus和Pekka。有用!問題在於,從該html頁面鏈接到其他html頁面,zfw將請求視爲zfw請求,當然,它告訴我指定的控制器(其他html頁面所在子文件夾的名稱)無效。我需要的是重寫前端控制器的默認行爲,並使其將這些請求視爲純html請求。 – curro 2010-03-15 00:33:07

+0

Laimoncijus,你的解決方案如果html頁面位於公共目錄中,如果你想訪問子目錄,你會得到一個'invalid controller specified(somedir)'異常。 – curro 2010-03-15 01:35:16