如何从CakePHP Shell创建电子邮件链接? 如果我按照正常方式行事,例如:
<?php echo
$this->Html->link($task['Project']['subject'], array('full_base' => true,
'admin' => false,
'controller' => 'projects',
'action' => 'view',
$task['Project']['id']
)
);
?>
它将导致localhost/projects/view/12
而不是flat.com/projects/view/12
我确实在bootstap smtg中尝试覆盖,如:
define('FULL_BASE_URL', 'http://flat.com');
它会起作用,但会导致会话问题,我不知道为什么。例如:当我在flat.com上注销时,如果我访问www.flat.com,它仍然会显示登录信息。还有其他方法可以解决这个问题吗?
答案 0 :(得分:2)
当我在flat.com上退出时,如果我去www.flat.com
它将会导致会话问题,[...]
让应用程序响应多个主机名可能会有问题,最好避免使用。 问题最简单的解决方案是确保应用程序只使用一个域
例如using apache将以下内容添加到webroot .htaccess文件中:
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule ^ http://%1%{REQUEST_URI} [R=301,L]
或using nginx添加服务器块,如下所示:
server {
listen 80;
# listen on the www host
server_name www.example.com;
# and redirect to the non-www host
return 301 $scheme://example.com$request_uri;
}
或者,有条件地在引导程序文件中定义常量:
if (php_sapi_name() === 'cli') {
define('FULL_BASE_URL', 'http://example.com');
}
答案 1 :(得分:0)
只需将其放在 Config / core.php :
Configure::write('App.fullBaseURL', 'http://domain.ext/');