2013-04-23 105 views
0

我正在開發Yii應用程序使用YiiBoilerPlate。Yii URL重寫不起作用

我能夠得到http://localhost/testapp/frontend/www/

當我點擊登錄它給我的消息

所請求的網址/ testapp /前端/網絡/網站/登錄/沒有被此服務器上找到。

是否有配置丟失?

htaccess的有:

RewriteEngine on 

RewriteCond %{REQUEST_FILENAME} !-f 

RewriteCond %{REQUEST_FILENAME} !-d 

RewriteRule . index.php 

前端/配置/ main.php具有:

 'urlManager' => array(
      'urlFormat' => 'path', 
      'showScriptName' => false, 
      'urlSuffix' => '/', 
      'rules' => $params['url.rules'] 
     ), 

在apache的訪問logs..it 具有:

*127.0.0.1 - - [23/Apr/2013:18:04:24 -0500] "GET /testapp/frontend/www/site/login/ HTTP/1.1" 404 516 "http://localhost/testapp/frontend/www/" "Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:20.0) Gecko/20100101 Firefox/20.0"* 

在網上嘗試了所有相關的建議,但仍然無法正常工作。有任何想法嗎?

回答

0

似乎你在http://localhost/testapp/frontend/www/上有loginRequire,它會將你重定向到loginUrl這不存在。

您可以輕鬆地通過增加配置解決它:

The requested URL /testapp/frontend/www/user/login/ was not found on this server. 
+0

我需要這個,如果我:

// ...... 'components'=>array( 'user'=>array( 'loginUrl'=>array('user/login'), # path to login controller/action ), ), 

否則,如果您還沒有登錄控制器,錯誤將消息提升使用SiteController中的登錄操作?默認的loginUrl是'/ site/login',對吧?還有一件事,我注意到/ site/index也給出了相同的錯誤 – skris 2013-04-24 02:28:36

+0

@skris'user/login'只是一個例子,你應該寫'site/login'。你還應該發佈你在'$ params ['url.rules']'中的路由規則,否則我不能幫你。 – ole 2013-04-24 02:35:30

+0

我試過了,它沒有工作。這是URL規則。這裏是URL rul​​es.''url.rules' =>數組( \t \t \t \t '<控制器:\ W +>/'=> ' /視圖', \t \t \t \t「<控制器:\ W + >// '=>' /」, \t \t \t \t '<控制器:\ W +>/'=> '/',' – skris 2013-04-24 02:45:52