编辑:我设法找到了答案。保持这种状态供其他人查找。
我目前正在尝试将现有(正在运行)的应用程序转换为Symfony4应用程序,而我一开始就陷入困境:路由。
我的设置是这样的:
RewriteCond %{REQUEST_FILENAME} !-d
,因此对子文件夹my_app
的请求不会由WP路由器处理。my_symfony_app
中,我有一个Symfony4应用,其中包含自己的htaccess文件和RewriteRule ^(.*)$ /my_symfony_app/public/$1 [L,QSA]
config\services.yaml
包含 parameters:
router.request_context.base_url: '/my_symfony_app'
src\Controller\TestController.php
中有 /**
* @Route("/")
*/
public function testHomepage(){/* some testpage rendered here */}
当我尝试使用此设置访问example.com/my_symfony_app
时,出现404错误No route found for "GET /my_symfony_app/"
但是当我将@Route("/")
替换为@Route("/my_symfony_app")
时,我的测试页会正确显示。
我想避免在我的所有全部路径前加my_symfony_app
,但是给定here和here的解决方案似乎过于繁琐,并且必然导致其他问题沿路。
这肯定是Symfony中已经实现的功能吗?我在htaccess文件中缺少某些参数或一行吗?