【问题标题】:Symfony2 config app base urlSymfony2 配置应用程序基本 url
【发布时间】:2013-03-09 10:01:12
【问题描述】:

我怎样才能得到这个基本网址

http://localhost/Symfony/web/app_dev.php/

http://localhost/Symfony/web/app.php/

http://localhost/Symfony/web/

(基本网址)

在 symfony2 配置文件中?在 symfony 网站上找不到。

【问题讨论】:

  • 你的意思是把url放到你的网络浏览器中来实现项目站点吗?检查 virtualHost 的配置。

标签: symfony config base-url


【解决方案1】:
$protocol = stripos($_SERVER['SERVER_PROTOCOL'],'https') === true ? 'https://' : 'http://';

$hostName = $request->server->get('HTTP_HOST');
$baseDirectory = "";
if(!empty($this->container->get('router')->getContext()->getBaseUrl())){
    $baseDirectory = str_replace('app_dev.php', '', $this->container->get('router')->getContext()->getBaseUrl());
}
$rootUrl = $protocol.$hostName.$baseDirectory; 

【讨论】:

  • 你能解释一下你的答案吗?
【解决方案2】:

嗯...检查一下:

$base = $this->getRequest()->getSchemeAndHttpHost();

或者在最旧的版本中(我不记得什么时候改变了):

$request = $this->getRequest();
$scheme = $request->getScheme();
$host = $request->getHttpHost();

$base = sprintf('%s://%s', $scheme, $host);

【讨论】:

  • 在 symfony2 配置文件中?在 symfony2 配置文件中?在 symfony2 配置文件中?
  • parameters.yml 中手动设置,然后按名称在config.yml 中使用它:%your_name%,在控制器中使用我的示例。顺便说一句:为什么在配置中?干什么用的?
  • 对于 JS 包我需要设置 url request_context_base_url: "localhost/name/web/app_dev.php"
  • FOSJsRequestBundle?也许:request_context_base_url: ~routes_to_expose[]
  • apache配置,这是虚拟主机配置文件的内容,看:apache configuration for symfony.
猜你喜欢
  • 1970-01-01
  • 2019-09-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-02-10
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多