2014-09-26 51 views
1

我想要的形式提交給www.example.com/users/signup,但我的頁面提交www.example.com/test/users/signup 。 Cakephp安裝在測試文件夾中。我在測試文件夾內創建了htaccess。 這是我的htaccess:CakePHP的2.5.4:表格後,重定向URL提交

<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

您是否更改了webroot索引中的常量,以便您的應用知道它位於'/ test /'文件夾內? – Dave 2014-09-26 18:25:38

+0

@Dave不,我沒有改變 – 2014-09-27 04:00:10

+1

你可能需要。 – Dave 2014-09-27 04:05:56

回答

1

/註冊是我在routes.php中連接的路由 - 它是一個「漂亮的url」,所以我沒有默認的/ {controller}/{action}格式。如果該網站不在子文件夾中,則使用$ this-> Form-> create()生成的任何表單都會生成/註冊。但是,在子文件夾中,我可以在/註冊時看到頁面,但所有生成的URL都包含子文件夾。我希望網站能像沒有子文件夾一樣工作,並像在根目錄中一樣工作。設置Configure :: write('App.baseUrl,'/');訣竅。

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