我已經看到它在網絡上的許多博客中提到過,但我相信它應該在這裏討論。 當我們在PHP中有一個MVC框架(我對ZEND感興趣)時可以做些什麼,但是我們的主機不提供mod_rewrite? 有沒有「捷徑」?我們能否以任何方式傳輸控件(以便頁面之間可能會發生映射)?有任何想法嗎? 謝謝:-)php Zend/MVC沒有mod_rewrite
回答
Zend框架應該沒有mod_rewrite
。如果您可以使用您的URL:s看起來更像「/path/to/app/index.php/controller/action」。如果你有mod_rewrite,你可以不使用「index.php」位,但它也可以工作。
它是建立路由接受的index.php部分的所有問題。
的mod_rewrite幾乎是必備的在今天的託管environment..but可惜不是每個人得到的消息。
許多大型PHP程序(我想Magento的,但最能應付)的有一個漂亮的URL回落的時候mod_rewrite的不可用狀態。
網址,最後看起來像個www.site.com/index.php?load-this-page
它們必須運行一些魔術搶從$ _GET變量的變量名稱,並用它作爲選擇要執行什麼模塊/功能。
在一個相關的說明,在那裏它使用了#我見過很多在新的Facebook網站亂七八糟的URL。所以鏈接看起來像www.new.facebook.com/home.php#/inbox/顯然,我們並不打算看到,但它表明他們可能正在解析$ _SERVER ['REQUEST_URI']變量。
如果你可以找到一個非mod_rewrite的方式將所有請求重定向到index.php(或者你的初始化腳本所在的位置),那麼你可以使用'REQUEST_URI'來獲取地址部分域,然後根據你的喜好解析它,並使請求做你想做的事。這是Wordpress如何做到的(通過mod_rewrite授予)。只要您可以將請求重定向到索引頁面,同時保留相同的URI,則可以執行處理請求所需的操作。
確定我的判決:-):我已經成功地使用Zend公司沒有mod_rewrite的,它是如你所說的所有網站/ index.php文件/控制器/動作。在發佈之前,我知道這一點。我還在網絡上發現了一種將404頁面推送到index.php的技術,因此,什麼不是資源(例如CSS,圖像等)到達那裏,有一個例外:POST值。 所以我決定下次在特定的服務器上創建一個應用程序時,要禮貌地詢問mod_rewrite。如果管理員無法提供,請與我的老闆交談,或者如果是我的話,請切換供應商。 一般來說它是一種恥辱一些倍PHP市場這麼多碎片(PHP4,PHP5,PHP6,mod_rewrite的,的mod_auth,mod_whatever),但這是另一個故事...
Drupal的重寫規則翻譯
http://example.com/path/goes/here
到
http://example.com/index.php?q=path/goes/here
...並具有邏輯決定產生哪些URL的味道。如果您可以忍受醜陋的URL,這可以讓您保持單一前端控制器的所有邏輯,而無需依賴URL重寫。
- 1. htaccess mod_rewrite沒有.php
- 2. 與.php相同的文件,沒有.php沒有任何mod_rewrite RewriteRule
- 3. PHP中沒有mod_rewrite的乾淨URL
- 4. htaccess塊沒有mod_rewrite
- 5. mod_rewrite並沒有 - 在所有
- 6. 沒有mod_rewrite問題的CakePHP
- 7. 所有url上的PHP mod_rewrite
- 8. 如何檢測mod_rewrite沒有apache_get_modules()?
- 9. mod_rewrite並沒有完全工作
- 10. Apache mod_rewrite沒有做任何事情(?)
- 11. mod_rewrite沒有變量的虛擬目錄
- 12. mod_rewrite沒有轉發編碼的散列?
- 13. apache的mod_rewrite並沒有或沒有啓用
- 14. Cakephp 2.2沒有mod_rewrite重定向錯誤
- 15. PHP - mod_rewrite的
- 16. mod_rewrite和php 404
- 17. PHP mod_rewrite的
- 18. Apache mod_rewrite和php
- 19. mod_rewrite的& PHP; $ _ SERVER [「REQUEST_URI」]對mod_rewrite的
- 20. mod_rewrite沒有找到索引文件?
- 21. 爲什麼這個mod_rewrite沒有工作?
- 22. mod_rewrite實際上並沒有...重寫URL
- 23. Zend框架URL的mod_rewrite沒有
- 24. Apache mod_rewrite - 重寫根本沒有發生
- 25. 沒有mod_rewrite的CakePHP導致404錯誤
- 26. 的.htaccess mod_rewrite的沒有斜線
- 27. Apache mod_rewrite沒有處理重寫的url?
- 28. mod_rewrite並沒有爲我工作
- 29. mod_rewrite並沒有表現如預期
- 30. 什麼是沒有mod_rewrite的網址?