如何正确设置网站的URL

时间:2014-10-07 15:42:07

标签: angularjs .htaccess symfony

我无法决定如何使我的网站网址更清晰。问题是,它完成了Angular AND Symfony2。 Angular提供前端,Symfony2提供api。

这是我网站的结构:

/api
    /app => configurations go here
    /bin => binaries
    /src => your bundles/MVC code
    /vendor => Symfony and 3rd party bundles
    /web => this is where the web server document root should be pointed to

/front
    /api -> Symlink to /api/web in the symfony part, working, but with app.php and app_dev.php
    /css -> frontend CSS
    /img -> frontend Images
    /js  -> frontend JS for AngularJS
    /lib
    /partials -> html templates used by AngularJS
    index.html

现在我得到的网址是www.project.dev/,它是家庭的,由AngularJS(/ front)呈现,效果很好,并且www.project.dev/api/app(_dev).php / ...呈现在Symfony2中,但我想删除该部分:

app(_dev).php

我有两个空的.htaccess,在/和/ api中,我需要使用它们吗?或者我必须使用Angular-route系统? 我怎么想这样做?

1 个答案:

答案 0 :(得分:0)

目前尚不清楚您的Symfony应用程序设置有多准确,但我建议使用默认的Symfony目录结构,因为它可以简化故障排除问题。默认目录结构如下:

/Symfony
    /app => configurations go here
    /bin => binaries
    /src => your bundles/MVC code
    /vendor => Symfony and 3rd party bundles
    /web => this is where the web server document root should be pointed to

由于您的文档根目标指向/web,因此您可以在其中包含公共资源的目录,例如/js/img/css(或你可以查看Assetic,它允许很多很酷的东西,比如组合和压缩js或css。)。 /web目录还包含.htaccess文件,以便从URL中删除app(_dev).php

然后可以使用标准Symfony路由,控制器和视图构建您的/api。您应该阅读Symfony routing文档以了解其工作原理。这是如何工作的摘要:

  1. 创建路线(例如/api/users
  2. 指向Controller操作的路径(请参阅docs
  3. 在控制器操作中,返回所需的response
  4. 我建议您如何构建应用程序。但是如果您更愿意坚持使用您拥有的结构,则需要将.htaccess文件添加到/api目录(我假设它指向Symfony应用程序的/web目录),并且看一下。{3}} .htaccess文件可以包含的内容。