Yii2链接和表单操作始终返回到本地主机' (错误的基本网址)

时间:2016-04-07 13:48:53

标签: php yii2

我将操作系统升级到el capitan后yii2出现错误。我的项目根目录是localhost/~robbyprawira/myproject/

我创建了一个链接,例如<a href="/home">link</a>。当我在浏览器上点击该链接时,它将转到localhost/home。它应该是localhost/~robbyprawira/myproject/home

它也恰好形成了动作。<form action="/admin/update"></form>。当我点击提交按钮时,它将转到localhost/admin/update。应为localhost/~robbyprawira/myproject/admin/update

任何人都可以帮我解决这个问题吗?谢谢

<?php 
   use yii\bootstrap\ActiveForm;
   use yii\helpers\Html;
   use yii\helpers\Url; 
 ?> 

 <?php 
      $form = ActiveForm::begin(['action' => Url::to('/admin/update')]); 
   ?>
   <?= $form->field($model, 'admin_email', ['inputOptions' => ['title' => Yii::t('myproject/update','Email')]]) ?> 
   <?= Html::submitButton(Yii::t('myproject/update', 'Update'), ['class' => 'btn btn-lg btn-primary btn-block']) ?> 
  <?php ActiveForm::end(); ?>

2 个答案:

答案 0 :(得分:1)

Yii2为这种情况提供了很多组件而不使用直接代码,所以你可以

对于链接,正确的方法是使用URL帮助

use yii\helpers\Url;

    <a href="<?= Url::to('LINK')?>">

对于ancor标签,您可以使用html Helper

  use yii\helpers\Html;

<?= Html::a('Home', ['home'], ) ?>

表格可以使用活动表格

$form = ActiveForm::begin([
  'id' => 'login-form',
  'options' => ['class' => 'form-horizontal'],
  'action' => Url::to(['/admin/update']),
 ]) ?>
......

<?php ActiveForm::end() ?>

答案 1 :(得分:0)

请尝试使用以下功能制作网址:

对于文件顶部的两者:

use yii\helpers\Url;
  1. 后端:

    Url::to(Yii::getAlias('@web') . '/admin/update', true);

  2. 前端

    Url::to(Yii::getAlias('@web') . '/home', true);

  3. 它对你有用吗?