我对我的大url http://localhost:8888/site/web/app_dev.php
感到无聊,所以我创建了apache virtual hosts
。当我在浏览器中编写http://site.dev
时,一切正常,我的网站出现了。
问题是,我的Symfony2网站似乎处于dev/prod模式,而我指向的是app_dev.php
(在.htaccess
中)。
我有调试底部工具栏(它向我显示"dev-environment"),我可以进行转储,但当我修改文件(JS、Twig等)时,每次都必须执行php app/console assetic:dump
(我以前没有)。
我的虚拟主机:
<VirtualHost *:80>
ServerName site.dev
ServerAlias www.site.dev
DocumentRoot /Applications/MAMP/htdocs/bo/web
<Directory /Applications/MAMP/htdocs/bo/web>
AllowOverride All
Order Allow,Deny
Allow from All
</Directory>
</VirtualHost>
编辑:我注意到这个网站(site.dev)比以前(使用localhostURL)快得多。不知道为什么,仍然不知道如何解决php app/console assetic:dump
问题。。。
您需要添加此行DirectoryIndex-app.php
<VirtualHost *:80>
ServerName site.dev
ServerAlias www.site.dev
DocumentRoot /Applications/MAMP/htdocs/bo/web
DirectoryIndex app.php
<Directory /Applications/MAMP/htdocs/bo/web>
AllowOverride All
Order Allow,Deny
Allow from All
</Directory>
</VirtualHost>
除了担心URL的长度之外,你没有其他问题吗?:)
但说真的,试着用以下命令启动内部PHP/Symfony服务器:
$ app/console server:start
您的应用程序的开发版本将位于http://localhost:8000.漂亮又短。
根据您的评论,事实证明您遇到的实际问题是在JS中对URL进行硬编码。解决方案是https://github.com/FriendsOfSymfony/FOSJsRoutingBundle.
基本上,该捆绑包允许您向JS公开路由,从而避免在那里对URL进行硬编码。