2017-07-06 28 views
0

我目前正在建设有BazingaHateoasBundle和Symfony的2.7Symfony的使用错误域,以生成绝对URL

这里,哈尔HATEOAS的RESTful API是我的配置文件:

MyBundle\Entity\MyEntity: 
    relations: 
    - rel: self 
     href: 
     route: get_myentity 
     parameters: 
      id: expr(object.getId()) 
     absolute: true 

在本地,我有一个Apache与虚拟主机和我的反应是正确的:

{ 
    "id":1, 
    "_links": { 
     "self": { 
      "href": "http://dev.myvhost/api/myentity/1" 
     } 
} 

在我开发服务器,我有这样的事情:

{ 
    "id":1, 
    "_links": { 
     "self": { 
      "href": "http://my-machine-name/api/myentity/1" 
     } 
} 

我不想my-machine-name,而是my-server-name.com

而我的服务器Apache的配置是这样的:

ServerName my-server-name.com 
Alias "/api" "/var/www/api/web" 

<VirtualHost *:80> 
    <Directory /var/www/api/web> 
     AllowOverride None 
     Require all granted 
     Allow from All 

     <IfModule mod_rewrite.c> 
      Options -MultiViews 
      RewriteEngine On 
      RewriteCond %{REQUEST_FILENAME} !-f 
      RewriteRule ^(.*)$ /api/app.php [QSA,L] 
     </IfModule> 
    </Directory> 

    <Directory /var/www/api/web/bundles> 
     <IfModule mod_rewrite.c> 
      RewriteEngine Off 
     </IfModule> 
    </Directory> 
    ErrorLog /var/log/httpd/api_error.log 
    CustomLog /var/log/httpd/api_access.log combined 
</VirtualHost> 

是否有配置Symfony的,这样我也许可以直接设置在主机的方法吗?

回答

0

我认为你错过了这里的一步。那就是你需要将my-server-name.com添加到(系统的)主机文件。

这是另一个有用的话题链接:Symfony 2 on virtual hosts