【发布时间】:2012-02-19 19:02:01
【问题描述】:
我已经搜索了 4 天,但找不到有效的解决方案。 我想让 Symfony2 在不访问命令行或 httpd.conf 的情况下在共享主机上工作(无法设置虚拟主机)。我所能做的就是编辑 .htaccess 文件。在我的网络根目录中,我还有一些其他项目(如论坛)。目录结构为:
public_html
|-forum
|-ox
'-Symfony
|-app
|-bin
<...>
我可以让它在 dev ant prod 环境中运行(路由运行良好),但它不加载任何资产(js、css、图像)。在错误日志中总是一样的:
request.ERROR: Symfony\Component\HttpKernel\Exception\NotFoundHttpException: No route found for "GET /bundles/acmedemo/images/welcome-demo.gif" (uncaught exception)
如果资产不是从 bundles 加载,而是在 twig 中加载,也会发生同样的情况:
{{ asset('css/main.css') }}
然后就结束了
request.ERROR: Symfony\Component\HttpKernel\Exception\NotFoundHttpException: No route found for "GET /css/main.css" (uncaught exception)
我在 public_html 中的 .htaccess 是:
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# DEV ENVIRONMENT #
RewriteRule ^$ Symfony/web/app_dev.php [QSA]
RewriteRule ^(.*)$ Symfony/web/app_dev.php/$1 [QSA,L]
# PROD ENVIRONMENT #
#RewriteRule ^$ Symfony/web/app.php [QSA]
#RewriteRule ^(.*)$ Symfony/web/app.php/$1 [QSA,L]
有什么建议可以让事情变得正确吗?
【问题讨论】:
标签: .htaccess mod-rewrite symfony shared-hosting