Anything is possible, but this will require some magic.
The problem is in .htaccess and more specifically in the rules Symfony2 puts there:
# If the requested filename exists, simply serve it.
# We only want to let Apache serve files and not directories.
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule .? - [L]
# Rewrite all other queries to the front controller.
RewriteRule .? %{ENV:BASE}/app.php [L]
Your request to your subdirectory project will be re-written to the front controller of the main project, game over.
There are several ways to solve this. One would be to change the .htaccess file of the main project to explicitly exclude the subproject directory. However, due to the first rule this would still allow subproject files to be served from the main project which you may not want. That can be fixed with more fiddling with the rewrite rules.
The other option would be to use Symfony2 to solve this. I have a similar project (not quite your question, but also with subprojects), and my routing.yml is like this:
collaboration:
resource: "@CCollabBundle/Controller"
type: annotation
prefix: /{_site}
defaults:
_site: demo
You could simply add a routing rule without a prefix that points to your main project, and a routing rule with prefix that points to your subproject. For example (untested code, may or may not work):
mainproject:
resource: "@MainProjectBundle/Resources/config/routing.yml"
prefix: /
subproject:
resource: "@SubProjectBundle/Resources/config/routing.yml"
prefix: /subproject