2016-11-10 42 views
0

我們的網站是
http://test.dobrobut.com/
我需要所有
http://test.dobrobut.com/phpBB3/index.php?anything_here請求重定向到404

所以,這裏的問題。
Urlmanager開始應用規則對請求的index.php後的一切。
所以我可以要求如
http://test.dobrobut.com/dsfdsf/dsfdsf/dsfdsf/dsf/index.php
OR http://test.dobrobut.com/index.php/index.php/index.php/index.php
,它會導致網站/指數。

我們:Urlmanager忽略之前的一切的index.php

'showScriptName' => false, 
'enableStrictParsing' => true, 
'enablePrettyUrl' => true, 

那麼,如何可以重定向到http://test.dobrobut.com/phpBB3/index.php到404的所有要求?

回答

0

您應該可以使用Yii's URL routing rules來完成此操作。在您的urlManager配置中指定下列內容:

'showScriptName' => false, 
'enableStrictParsing' => true, 
'enablePrettyUrl' => true, 
'rules' => [ 
    'host' => 'http://test.dobrobut.com', 
    'pattern' => 'phpBB3/index.php', 
    'route' => 'site/lost', 
], 

上述的配置將路由擊中了任何請求:

test.dobrobut.com/phpBB3/index.php 

到您的網站控制器的「丟失」的行動。這意味着您必須按以下方式設置您的現場控制器:

use yii\web\HttpException; 

class SiteController extends Controller 
{ 
    // lot's of code and other actions here .. 

    public function actionLost() 
    { 
     throw new HttpException(404, 'Sorry, the requested resource could not be found'); 
    } 

} 
+0

謝謝您的回答,但結果相同。仍然不起作用。 –

+0

您確定您的.htaccess文件(位於網站根目錄中)是否爲您的應用程序正確配置?關於此事的討論可以在這裏找到:http://www.yiiframework.com/forum/index.php/topic/47615-yii-20-basci-app-miss-the-htaccess-file/ –