这是我的情景:
请有人帮我解决这个问题吗?
我希望将我的Symfony web文件夹更改为public_html文件夹不是唯一的解决方案。
更新1
我的.htaccess文件
DirectoryIndex app.php
<IfModule mod_negotiation.c>
Options -MultiViews
</IfModule>
<IfModule mod_rewrite.c>
RewriteEngine On
# start https
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
# end https
RewriteCond %{REQUEST_URI}::$1 ^(/.+)/(.*)::\2$
RewriteRule ^(.*) - [E=BASE:%1]
RewriteCond %{HTTP:Authorization} .
RewriteRule ^ - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteCond %{ENV:REDIRECT_STATUS} ^$
RewriteRule ^app\.php(?:/(.*)|$) %{ENV:BASE}/$1 [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>
更新2
我发现了问题和解决方案,这就是为什么我改变了问题的标题,因为问题不在于Symfony,而在于Apache虚拟主机配置。
答案 0 :(得分:1)
您可以使用安全配置解决此问题。以下是https://symfony.com/doc/current/security/force_https.html
的示例或路由
答案 1 :(得分:0)
Ramazan的一条评论给了我一个新的想法来搜索解决方案。好吧,我发现它here 要将我的站点在子文件夹中部署到public_html中,我需要更改虚拟主机配置,但是,我只修改了主文件,而不是_SSL配置文件。 然后,此链接中的解决方案为我工作。