2013-06-27 56 views
0

比方說,我創建了一個路線:如何防止在Zend Framework中通過其關聯的模塊/控制器/操作路徑訪問路由?

$account_route = new Zend_Controller_Router_Route_Static(
    'account', 
    array(
     'module'  => 'user', 
     'controller' => 'account', 
     'action'  => 'edit', 
    ) 
); 

現在這個頁面可以通過example.com/account,和example.com/user/account/edit參觀。

我想爲我的所有網頁創建一個入口點,以防止用戶嘗試弄清楚我的應用是如何在服務器上構建的。有沒有辦法將404返回給試圖通過模塊/控制器/操作模式訪問指定路由的URL的人?

回答

1

您可以覆蓋默認的路由或刪除它:

$router->removeDefaultRoutes(); 
+0

謝謝,這看起來很有希望。但後來我不得不爲每個URL定義一個自定義路由,因爲我會得到'Route default is not defined'錯誤。有了一些URL,我想使用默認值。如果情況變得更糟,我想我可以通過壓倒一切來使用它。 – danronmoon

+0

您可以爲其他任何事物定義默認路由。 – konradwww

+1

我認爲這是要走的路,但是您可以重新添加默認的':module /:controller /:action/*'路線,但有一些限制。您沒有其他路線的特定模塊的白名單。 –

相關問題