douhui1957 2015-11-12 11:28
浏览 33
已采纳

更改Cakephp路由功能

When I use below redirection it gives xxx.yyy.com/posts/add.

Router::url(
     array('controller' => 'posts', 'action' => 'add'),
     true
);

When I change the last parameter to false it gives xxx.com/posts/add.

Router::url(
     array('controller' => 'posts', 'action' => 'add'),
     false
);

The below link forms xxx.com/posts/add url.

 echo $this->Html->link('Add Post', array(
     'controller' => 'posts',
     'action' => 'new'
 ));

The below redirection forms xxx.yyy.com/posts/add url.

$this->redirect(array('controller' => 'posts', 'action' => 'add'));

xxx.yyy.com this is the base url. Server has multiple domains hosted. I have completed cakephp project. I dont want to change anything in hosting. Can I change in cakephp to behave above codes to point out xxx.com/...

Is this possible?

  • 写回答

1条回答 默认 最新

  • dsadsadsa1231 2015-11-12 15:27
    关注

    You can use the CakePHP base configuration for that.

    Configure::write('App.baseUrl', 'http://example.com');
    

    It would be even better to use .htaccess url rewriting, if possible:

    RewriteCond %{HTTP_HOST} !^example\.com$
    RewriteRule ^.*$ http://example.com%{REQUEST_URI} [R=301,L]
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?