作为symfony1.4开发人员,我正在尝试学习Symfony2。
现在,我想在我的服务器上使用我的测试站点,而不是尝试我的本地机器,一切正常。但我不想将它部署在真实网站或真正的子域上。
这就是我的问题:如何在没有修改虚拟主机的情况下在子文件夹上部署此测试?!
假设我有一个可用的网站www.example.com
,但我希望我的symfony测试可用(并且正常工作)www.exaple.com/mysymfonytest
somone已经这样做了吗?
...谢谢
答案 0 :(得分:0)
在我看来,这不是一个与symfony相关的问题。
根据您的网络服务器,您可以配置别名应指向的别名。
在Apache中,您可以指定文档根目录,放置sf2安装位置,然后定义一个别名,该别名将是/ mysymfonytest指向该文档根目录。
或者,您可以指定文档根目录,保留网址并为symfony中的所有路由定义前缀,您可以在路由配置中执行此操作。
我强烈建议您配置您的网络服务器。
例如在apache中:
<VirtualHost *:80>
DocumentRoot /var/www/mysymfonytest
Alias /mysymfonytest /var/www/mysymfonytest
<Directory /var/www/mysymfonytest/web>
AllowOverride None
Order allow,deny
Allow from all
#Allow from <SUPPORT>
RewriteEngine On
RewriteBase /mysymfonytest
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ /app.php [QSA,L]
</Directory>
</VirtualHost>
或者,如果您无法添加VHost: How to add a prefix to all my routes
答案 1 :(得分:0)
在/
(根目录)下创建一个子目录并将其命名为mysymfonytest
,然后将您的symfony2项目放在mysymfonytest
中。
将一个.htaccess文件添加到mysymfonytest
文件夹并输入:
<IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{HTTP_HOST} ^(www.)?example.com$ RewriteRule ^(/)?$ web [L] </IfModule>
或者您只需创建一个名为index.html
的文件,并指向app.php
答案 2 :(得分:0)
如果您只在共享主机上运行。您可以使用.htaccess使用覆盖配置。询问您提供的是否允许覆盖,然后向他们提供脚本或告诉他们您想要的内容。希望您的托管支持能够满足。