【问题标题】:Cakephp 2.5.4: Redirection url after form submitCakephp 2.5.4:表单提交后的重定向网址
【发布时间】:2014-09-28 01:39:21
【问题描述】:

我想将表单提交到 www.example.com/users/signup,但我的页面正在提交到 www.example.com/test/users/signup . Cakephp 安装在测试文件夹中。我在测试文件夹中创建了 htaccess。 这是我的 htaccess:

<IfModule mod_rewrite.c>
 RewriteEngine on
 RewriteRule    ^$ test/    [L]
 RewriteRule    (.*) test/$1 [L]
 RewriteRule    ^$ /test/users/signup  [L]
 RewriteRule users/signup /users/signup [L]
</IfModule>

查看:

<?php 
echo $this->Form->create('User',array('url'=>array('controller'=>'users','action'=>'signup')), array('id' => 'signup',  'role' => 'form','class'=>'form-signin')); 

echo $this->Form->input('User.email',array('type'=>'email','required'=>'required','class'=>'form-control','placeholder'=>'Email'));

echo $this->Form->input('User.password',array('type'=>'password','required'=>'required','class'=>'form-control','placeholder'=>'Password'));
?>

<button type="submit" class="btn btn-lg btn-primary btn-block">Sign up</button>
<?php echo $this -> Form -> end(); ?>

我创建了路线:

<?php

Router::connect('/users/signup', array('controller' => 'users', 'action' => 'signup'));
?>

如果您有任何疑问,请随时提出。

【问题讨论】:

  • 您是否更改了 webroot 索引中的常量,以便您的应用知道它位于“/test/”文件夹中?
  • @Dave 不,我没有改变
  • 你可能需要。
  • 好的,我要在那里改变什么,请告诉我@Dave
  • 这些是定义的常量,我需要更新哪个常量?这些是默认设置的:WEBROOT_DIR="webroot" WWW_ROOT="/home/example/public_html/test/app/webroot/" CAKE_CORE_INCLUDE_PATH= "/home/example/public_html/test/lib:.:/usr/lib/php :/usr/local/lib/php"

标签: .htaccess cakephp


【解决方案1】:

/signup 是我在 routes.php 中连接的路由——它是一个“漂亮的 url”,所以我没有默认的 /{controller}/{action} 格式。如果该站点不在子文件夹中,则我使用 $this->Form->create() 生成的任何表单都会发布到 /signup。但是,在子文件夹中时,我可以在 /signup 中看到该页面,但所有生成的 URL 都包含该子文件夹。我希望该站点能够像没有子文件夹一样工作,并且就像它在根目录中一样。设置 Configure::write('App.baseUrl, '/');成功了。

解决方法是:Configure::write('App.baseUrl, '/');

【讨论】:

    猜你喜欢
    • 2011-11-22
    • 1970-01-01
    • 2013-04-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多