Cakephp 2.5.4:表单提交后重定向url

时间:2014-09-26 17:28:56

标签: .htaccess cakephp

我想将表单提交至 www.example.com/users/signup ,但我的页面已提交至 www.example.com/test/users/signup 。 Cakephp安装在测试文件夹中。我在test文件夹中创建了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'));
?>

如果您想询问任何问题,请随时提出。

1 个答案:

答案 0 :(得分:1)

/ signup是我在routes.php中连接的路由 - 它是一个“漂亮的网址”,因此我没有默认的/ {controller} / {action}格式。如果该网站不在子文件夹中,我使用$ this-&gt; Form-&gt; create()POST生成的任何表单都会/ to signup。但是,在子文件夹中,我可以在/ signup中看到页面,但所有生成的URL都包含子文件夹。我希望该网站工作,好像没有子文件夹,并表现得好像它在根目录中。设置Configure :: write('App.baseUrl,'/');做了伎俩。

解决方案是:配置:: write('App.baseUrl,'/');