[英]Installing CodeIgniter on root and WordPress in sub-directory
[英]Symfony2 installing in a sub-directory
我知道之前曾有人问过这个问题,但由于某种原因,它对我不起作用。
我正在尝试在子文件夹(IE: http ://www.mydomain.com/myapp)中安装symfony2,但是我遇到了几个问题:
看来我必须修改所有路由以指向此子路径IE:
fos_user_group:
resource: "@FOSUserBundle/Resources/config/routing/group.xml"
prefix: /myapp/group
..这确实完成了路由工作。
但是,无论如何,即使在symfony文档中,它指出资产将确定正确的路径( http://symfony.com/doc/current/book/templating.html#linking-to-assets ),仍尝试从IE的根域中查找资产:
http://www.mydomain.com/bundles/acmedemobundle/js/script.js
我已经在Google的每个链接中寻找了相关的问题,我尝试了RewriteBase /myapp
, RewriteBase /myapp/web
,但都无济于事。
有人可以帮我从这里出去吗? 正确地将我的URL和资产路由到子文件夹似乎很疯狂。 出于可移植性考虑(即使资产问题已通过某种方式解决),是否应该有办法在不修改我所有路线的情况下做到这一点?
附带一提,我还没有尝试在UNIX服务器上尝试此操作。 当前,所有测试都在wampserver上进行。
您可以在路由器对象中设置基本网址,也许可以解决您的问题?
$this->getContainer()->get('router')->getContext()->setBaseUrl('/myapp');
如果这样做,则不必在所有路由前面加上子目录的名称。
我不知道这是否仍然适合您,但可能会对其他人有所帮助。 我认为您应该更改config.yml或config_dev.yml(取决于环境)
对于资产,请对此进行设置(请参见“模板”部分):
framework:
router:
resource: "%kernel.root_dir%/config/routing_dev.yml"
strict_requirements: true
profiler: { only_exceptions: false }
#set default asset root
templating:
assets_base_urls:
http: [ /path/to/web ]
ssl: [ /path/to/web ]
其中/ path / to / web是捆绑文件夹的父文件夹。
我在本地环境上的解决方案是在app/config/config.yml
添加以下代码
framework:
templating:
assets_base_urls:
http: "http://localhost/symfony_folder/"
ssl: "http://localhost/symfony_folder/"
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.