我想将表单提交至 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'));
?>
如果您想询问任何问题,请随时提出。
答案 0 :(得分:1)
/ signup是我在routes.php中连接的路由 - 它是一个“漂亮的网址”,因此我没有默认的/ {controller} / {action}格式。如果该网站不在子文件夹中,我使用$ this-&gt; Form-&gt; create()POST生成的任何表单都会/ to signup。但是,在子文件夹中,我可以在/ signup中看到页面,但所有生成的URL都包含子文件夹。我希望该网站工作,好像没有子文件夹,并表现得好像它在根目录中。设置Configure :: write('App.baseUrl,'/');做了伎俩。
解决方案是:配置:: write('App.baseUrl,'/');