我已经在symfony 2中完成了应用程序。
现在,我想从网址中删除web / app_dev.php /。
我读到了这个,做完之后:
php app/console cache:clear --env=prod --no-debug
并添加.htaccess:
DirectoryIndex app.php
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_URI}::$1 ^(/.+)/(.*)::\2$
RewriteRule ^(.*) - [E=BASE:%1]
RewriteCond %{ENV:REDIRECT_STATUS} ^$
RewriteRule ^app\.php(/(.*)|$) %{ENV:BASE}/$2 [R=301,L]
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule .? - [L]
RewriteRule .? %{ENV:BASE}/app.php [L]
</IfModule>
<IfModule !mod_rewrite.c>
<IfModule mod_alias.c>
RedirectMatch 302 ^/$ /app.php/
</IfModule>
</IfModule>
在此之后,我可以使用以下网址:localhost / test / web /但这并不是我的目标。我也想删除网络。
在这之后还有另一个问题。当我使用localhost / test / web /访问页面时,缺少一些样式表,但是在app_dev.php中,一切看起来都不错。
我的问题是,如何从网址中删除/ web /?怎样才能丢失样式表?
要删除/web
零件,您可以RewriteBase
额外设置
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /web/
...
...或DocumentRoot
直接将您的web
文件设置为apacheVirtualHost
配置中的文件夹。
prod
可以通过调用assets:install
命令来解决环境中缺少的样式表。
在dev
symfony中,Resources/public
因为默认config_dev.yml
包含,所以将直接从包的文件夹中提供文件assetic.use_controller: true
。
由于assetic.use_controller: false
性能原因,默认的生产配置具有。不会在每次请求时重新编译资产并通过symfony服务。
现在,在将捆绑包Resource
文件夹中的资产移动/符号链接到web
您的Web服务器可以在其中找到它们的文件夹之前,它们无法使用assets:install
和assetic:dump
命令进行操作。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句